全部產品
Search
文件中心

Data Management:邏輯表查詢

更新時間:May 22, 2026

本文介紹邏輯表查詢的操作步驟。

背景資訊

  • 分庫分表後,需要快速地查詢單個分表或查詢多個分表並返回結果,可以對使用者屏蔽人為尋找分庫、分表情境。使用者最終使用查詢操作都是被當做單個表查詢,這樣的操作相對較透明,也符合使用者當下的訴求。

  • Data Management基於產品內的邏輯庫邏輯表的彙總實現了透明化的邏輯表查詢操作。

操作步驟

  1. 選擇邏輯庫進行相關的查詢與匯出操作。您可先嘗試寫入資料,無路由配置時只支援查詢SELECTUPDATEDELETE語句,不支援INSERT語句。

    此時執行 INSERT 語句將報錯:[Error] dsql.DSQLException: 未找到分表路由,無法執行,請確保對應的邏輯表配置了路由演算法

  2. 配置路由演算法。此處以簡單模數為例,複雜演算法配置步驟,請參見配置路由演算法

    建立演算法對話方塊中,設定演算法類型單列模數模數方式簡單模數分表欄位user_id (bigint)模數128,然後單擊儲存

  3. 使用INSERT語句插入值。

    例如,執行INSERT INTO scend_test(gmt_create,gmt_modified,user_id) VALUES (now(),now(),2);向scend_test表插入一條記錄,執行成功後結果地區顯示綠色對勾。

  4. 進行快速查詢。

    • 配置了路由演算法後,帶路由欄位則可以快速查詢指定物理表(免去人為計算、切換物理庫表的操作)。在 DMS 的 SQLConsole 中執行 SQL 陳述式 SELECT * FROM scend_test WHERE user_id = 4,以路由欄位 user_id 作為查詢條件。執行日誌顯示邏輯表 scend_test 被路由到物理分表 poc_dev.scend_test_000

    • 查詢結果會額外提供一個欄位表示資料來源的資料庫、表資訊,單擊則可以跳轉至對應的物理庫表並帶入查詢SQL與查詢條件資訊。例如,執行 SQL 陳述式 SELECT * FROM scend_test WHERE user_id = 1,查詢結果中資料座標列顯示為 poc_dev.scend_test_000,表明資料已被路由至對應的物理分表,返回一條匹配記錄。

    • 查詢也可以不帶路由欄位作為條件,進行全表(所有分表)掃描查詢操作,如匯總統計 。

      說明

      同時也支援GROUP BY等文法操作,其他SQL文法操作與資料庫源文法支援基本一致,但目前不支援子查詢操作。

      例如,在 SQL Console 中執行 SELECT COUNT(*) FROM scend_test;,返回結果為 1,表示該表共有 1 條記錄。