疑難排解同步、掃描和指紋

首先,檢查您的資料是否因瀏覽器快取而過期

  1. 清除您的瀏覽器快取。
  2. 重新整理您的 Metabase 頁面。
  3. 在無痕視窗中開啟您的 Metabase 頁面。

確認您正在查看表格和欄位的非快取檢視後,請標註您的資料庫管理員以尋求疑難排解協助

  • 同步,如果您的表格或欄位遺失,或您的欄位資料類型錯誤。
  • 掃描,如果您的欄位遺失或錯誤 (例如,在您的篩選器下拉式選單中)。
  • 指紋,如果您已觸發手動掃描,但變更未生效。

同步

  1. 確保您的資料庫驅動程式為最新版本。
  2. 前往 管理 > 疑難排解 > 記錄 以檢查同步狀態。
  3. 從 Metabase SQL 編輯器對您的資料庫執行查詢,以檢查記錄中未列出的資料庫連線或資料庫權限錯誤

    SELECT
       *
    FROM
        "your_schema"."your_table_or_view"
    LIMIT 1
    
  4. 如有需要,手動重新同步表格或檢視。

特殊情況

如果您剛在 Metabase 中設定新的資料庫,則初始同步查詢需要一些時間才能啟動。如果同步完全沒有開始,請嘗試 疑難排解資料庫連線

說明

同步查詢應在您資料庫的查詢執行表格中顯示如下 (使用資料庫連線詳細資訊中資料庫使用者的權限)

SELECT
    TRUE
FROM
    "your_schema"."your_table_or_view"
WHERE
    1 <> 1
LIMIT 0

若要執行同步查詢,Metabase 必須

  • 成功連線至您的資料庫,以及
  • 授予權限以查詢該資料庫。

如果連線失敗或資料庫權限錯誤,則同步查詢將無法執行。如果 Metabase 在您首次設定後無法與您的資料庫同步,則初始掃描和指紋查詢也不會執行。

展開具有物件記錄的 JSON 欄位

  1. 前往 管理 > 資料庫 > 您的資料庫 > 顯示進階選項
  2. 按一下 停用「JSON 展開」
  3. 按一下 儲存變更
  4. 按一下 同步資料庫結構描述

說明

Metabase 將嘗試在同步處理期間展開 JSON 和 JSONB 記錄,這可能會佔用相當多的查詢執行時間。如果您有大量 JSON 記錄,請嘗試停用自動展開選項,以將同步從慢動作中拉出來。請記住,您可以從 管理 > 疑難排解 > 記錄 追蹤同步狀態。

掃描

  1. 前往 管理 > 表格中繼資料
  2. 選取資料庫和表格。
  3. 前往您要更新的欄位,然後按一下 齒輪 圖示。
  4. 按一下 捨棄快取的欄位值
  5. 按一下 重新掃描此欄位
  6. 前往 管理 > 疑難排解 > 記錄 以追蹤掃描狀態並從該處偵錯錯誤。

特殊情況

如果您正在等待初始掃描在連線資料庫後執行,請確保初始同步已先完成 (請記住您可以從 管理 > 疑難排解 > 記錄 檢查狀態)。

說明

掃描查詢會針對您的資料庫執行,以從表格或檢視中的前 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 流程中進一步清理資料。

指紋

若要手動重新觸發給定欄位的指紋查詢

  1. 前往 管理 > 資料庫 > 您的資料庫 > 顯示進階選項
  2. 開啟 定期重新建立表格指紋,然後按一下 儲存變更
  3. 前往 管理 > 表格中繼資料
  4. 選取您的資料庫和表格。
  5. 將表格的能見度變更為「隱藏」。
  6. 將能見度變更回「可查詢」。
  7. 等待 10 秒。
  8. 前往您的欄位,然後將 類型 從「實體金鑰」變更為「無語意類型」,然後再變更回「實體金鑰」。

特殊情況

如果您正在等待初始指紋查詢在連線資料庫後執行,請確保初始同步已先完成 (請記住您可以從 管理 > 疑難排解 > 記錄 檢查狀態)。

如果您使用 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 版本的文件。