疑難排解同步、掃描和指紋
首先,檢查您的資料是否因瀏覽器快取而過期
- 清除您的瀏覽器快取。
- 重新整理您的 Metabase 頁面。
- 在無痕視窗中開啟您的 Metabase 頁面。
確認您正在查看表格和欄位的非快取檢視後,請標註您的資料庫管理員以尋求疑難排解協助
- 同步,如果您的表格或欄位遺失,或您的欄位資料類型錯誤。
- 掃描,如果您的欄位值遺失或錯誤 (例如,在您的篩選器下拉式選單中)。
- 指紋,如果您已觸發手動掃描,但變更未生效。
同步
- 確保您的資料庫驅動程式為最新版本。
- 前往 管理 > 疑難排解 > 記錄 以檢查同步狀態。
-
從 Metabase SQL 編輯器對您的資料庫執行查詢,以檢查記錄中未列出的資料庫連線或資料庫權限錯誤
SELECT * FROM "your_schema"."your_table_or_view" LIMIT 1
- 如有需要,手動重新同步表格或檢視。
特殊情況
如果您剛在 Metabase 中設定新的資料庫,則初始同步查詢需要一些時間才能啟動。如果同步完全沒有開始,請嘗試 疑難排解資料庫連線。
說明
同步查詢應在您資料庫的查詢執行表格中顯示如下 (使用資料庫連線詳細資訊中資料庫使用者的權限)
SELECT
TRUE
FROM
"your_schema"."your_table_or_view"
WHERE
1 <> 1
LIMIT 0
若要執行同步查詢,Metabase 必須
- 成功連線至您的資料庫,以及
- 被授予權限以查詢該資料庫。
如果連線失敗或資料庫權限錯誤,則同步查詢將無法執行。如果 Metabase 在您首次設定後無法與您的資料庫同步,則初始掃描和指紋查詢也不會執行。
展開具有物件記錄的 JSON 欄位
- 前往 管理 > 資料庫 > 您的資料庫 > 顯示進階選項。
- 按一下 停用「JSON 展開」
- 按一下 儲存變更。
- 按一下 同步資料庫結構描述。
說明
Metabase 將嘗試在同步處理期間展開 JSON 和 JSONB 記錄,這可能會佔用相當多的查詢執行時間。如果您有大量 JSON 記錄,請嘗試停用自動展開選項,以將同步從慢動作中拉出來。請記住,您可以從 管理 > 疑難排解 > 記錄 追蹤同步狀態。
掃描
- 前往 管理 > 表格中繼資料。
- 選取資料庫和表格。
- 前往您要更新的欄位,然後按一下 齒輪 圖示。
- 按一下 捨棄快取的欄位值。
- 按一下 重新掃描此欄位。
- 前往 管理 > 疑難排解 > 記錄 以追蹤掃描狀態並從該處偵錯錯誤。
特殊情況
如果您正在等待初始掃描在連線資料庫後執行,請確保初始同步已先完成 (請記住您可以從 管理 > 疑難排解 > 記錄 檢查狀態)。
說明
掃描查詢會針對您的資料庫執行,以從表格或檢視中的前 1,000 列取樣欄位值
SELECT
"your_table_or_view"."column" AS "column"
FROM
"your_schema"."your_table_or_view"
GROUP BY
"your_table_or_view"."column"
ORDER BY
"your_table_or_view"."column" ASC
LIMIT 1000
失敗的掃描是由失敗的掃描查詢所造成 — 您可以查看記錄以偵錯查詢,類似於您直接針對資料庫執行的其他查詢。
請注意,當您從表格中繼資料將搜尋方塊篩選器變更為下拉式篩選器時,您將觸發該欄位的掃描查詢。如果您有下拉式篩選器未擷取欄位中的所有值,請記住 Metabase 僅取樣每個欄位的前 1,000 個唯一值,並且最多儲存 100 KB 的文字。如果您的欄中有多個 1,000 個唯一值,或大量以文字為主的資料 (例如長網址或問卷回覆),您可以
- 針對該欄位使用搜尋方塊篩選器。
- 在您的 ETL 或 ELT 流程中進一步清理資料。
指紋
若要手動重新觸發給定欄位的指紋查詢
- 前往 管理 > 資料庫 > 您的資料庫 > 顯示進階選項。
- 開啟 定期重新建立表格指紋,然後按一下 儲存變更。
- 前往 管理 > 表格中繼資料。
- 選取您的資料庫和表格。
- 將表格的能見度變更為「隱藏」。
- 將能見度變更回「可查詢」。
- 等待 10 秒。
- 前往您的欄位,然後將 類型 從「實體金鑰」變更為「無語意類型」,然後再變更回「實體金鑰」。
特殊情況
如果您正在等待初始指紋查詢在連線資料庫後執行,請確保初始同步已先完成 (請記住您可以從 管理 > 疑難排解 > 記錄 檢查狀態)。
如果您使用 MongoDB,Metabase 會對每個集合的前 10,000 個文件建立指紋。如果您沒有看到所有欄位,是因為這些欄位可能不存在於前 10,000 個文件中。如需更多資訊,請參閱我們的 MongoDB 參考文件。
說明
初始指紋查詢會查看您資料庫中給定表格或檢視的前 10,000 列
SELECT
*
FROM
"your_schema"."your_table_or_view"
LIMIT 10000
如果前 10,000 列無法代表表格中的資料 (例如,如果您有大量空白或 Null 值的稀疏資料),您可能會看到諸如以下問題
- 不正確的篩選器類型,例如當您想要行事曆時,卻出現類別。
- 無法運作的直方圖視覺化 (因為 Metabase 需要最小值和最大值才能產生倉格)。
Metabase 沒有內建選項可觸發手動指紋查詢。您可以使用上述步驟「重設」欄位的設定,以嘗試強制執行指紋查詢,但不保證在所有 Metabase 版本上都能運作。
同步或掃描需要很長時間
若要加速同步
- 限制用於連線資料庫的權限,以便 Metabase 僅同步結構描述或表格的有限子集。
- 降低同步查詢的頻率.
若要加速掃描
- 降低掃描頻率,或完全停用掃描.
- 前往 管理 > 表格中繼資料,並將 對此欄位篩選 設定為 搜尋方塊 或 純文字輸入方塊,以減少掃描的欄位數。
說明
同步和掃描最終只是針對您的資料庫執行的兩種查詢,因此執行速度受到執行的查詢數量、執行頻率、資料大小以及您分配給資料庫的資源量所限制。Metabase 讓您可以調整同步和掃描查詢的數量和頻率,因為遺憾的是,我們無法為您的資料庫注入更多效能… (還不行?)
相關主題
您仍然遇到困難嗎?
如果您無法使用疑難排解指南解決您的問題
- 搜尋或詢問 Metabase 社群。
- 搜尋已知錯誤或限制。
閱讀其他Metabase 版本的文件。