[僅限PaaS]{class="badge informative" title="僅適用於雲端專案(Adobe管理的PaaS基礎結構)和內部部署專案的Adobe Commerce 。"}

ACSD-68040:具有大型歷史記錄的MariaDB 10.6上的前端搜尋頁面速度變慢

ACSD-68040修補程式修正了在具有大量歷史搜尋請求的MariaDB 10.6上執行時,前端搜尋頁面發生效能大幅降低的問題。 安裝Quality Patches Tool (QPT) 1.1.72時,即可使用此修補程式。 修補程式ID為ACSD-68040。

受影響的產品和版本

已為Adobe Commerce版本建立修補程式:

  • Adobe Commerce (所有部署方法) 2.4.6-p12

與Adobe Commerce版本相容:

  • Adobe Commerce (所有部署方法) 2.4.4 - 2.4.6-p12
NOTE
此修補程式可能適用於發行版本為Quality Patches Tool的其他版本。 若要檢查修補程式是否與您的Adobe Commerce版本相容,請將magento/quality-patches套件更新至最新版本,並在Quality Patches Tool上檢查相容性:搜尋修補程式頁面。 使用修補程式ID作為搜尋關鍵字,以尋找修補程式。

問題

處理大量歷史搜尋要求時,前端搜尋頁面在MariaDB 10.6上會顯著變慢。 在search_query 10.6上,MariaDB資料表的查詢最多需要13秒,而在MariaDB 11.4上則不到0.5秒。

要再現的步驟

  1. 安裝包含MariaDB 10.6的乾淨執行個體以進行測試。

  2. 將200萬個專案填入search_query表格。

  3. 執行下列SQL查詢:

    code language-none
    SELECT COUNT(*) FROM (
        SELECT `main_table`.`query_text`
        FROM `search_query` AS `main_table`
        WHERE (main_table.store_id IN (1))
          AND (main_table.num_results > 0)
        ORDER BY `main_table`.`popularity` DESC
        LIMIT 100
    ) AS `result`
    WHERE (result.query_text = 'seed_q_0000009');
    
  4. 請注意,完成查詢大約需要13秒。

  5. 將資料庫升級為MariaDB 11.4。

  6. 重新執行相同的SQL查詢:

    code language-none
    SELECT COUNT(*) FROM (
        SELECT `main_table`.`query_text`
        FROM `search_query` AS `main_table`
        WHERE (main_table.store_id IN (1))
          AND (main_table.num_results > 0)
        ORDER BY `main_table`.`popularity` DESC
        LIMIT 100
    ) AS `result`
    WHERE (result.query_text = 'seed_q_0000009');
    
  7. 請注意,查詢現在大約會在0.4到0.5秒內完成。

預期結果

無論MariaDB版本為何,查詢或表格結構都應最佳化,以確保最小的執行時間。

實際結果

在MariaDB 10.6上查詢大約需要13至15秒,在MariaDB 11.4上查詢大約需要0.4至0.5秒。

套用修補程式

若要套用個別修補程式,請根據您的部署方法使用下列連結:

相關閱讀

若要進一步瞭解Quality Patches Tool,請參閱:

recommendation-more-help
c2d96e17-5179-455c-ad3a-e1697bb4e8c3