[Endast PaaS]{class="badge informative" title="Gäller endast Adobe Commerce i molnprojekt (Adobe-hanterad PaaS-infrastruktur) och lokala projekt."}

ACSD-68040: Sidan för frontend-sökning tar längre tid på MariaDB 10.6 med stor historik

Korrigeringen ACSD-68040 åtgärdar ett problem där klientsöksidan upplever en betydande prestandaförsämring när den körs på MariaDB 10.6 med en stor mängd historik över sökbegäranden. Den här korrigeringen är tillgänglig när Quality Patches Tool (QPT) 1.1.72 har installerats. Korrigerings-ID är ACSD-68040.

Berörda produkter och versioner

Korrigeringen har skapats för Adobe Commerce-version:

  • Adobe Commerce (alla distributionsmetoder) 2.4.6-p12

Kompatibel med Adobe Commerce-versioner:

  • Adobe Commerce (alla distributionsmetoder) 2.4.4 - 2.4.6-p12
NOTE
Korrigeringen kan bli tillämplig för andra versioner med nya Quality Patches Tool-versioner. Om du vill kontrollera om korrigeringen är kompatibel med din Adobe Commerce-version uppdaterar du magento/quality-patches-paketet till den senaste versionen och kontrollerar kompatibiliteten på Quality Patches Tool: Sök efter korrigeringsfiler ​. Använd patch-ID:t som söknyckelord för att hitta patchen.

Problem

Söksidan för frontend blir betydligt långsammare på MariaDB 10.6 när en stor mängd historiska sökbegäranden bearbetas. En fråga i tabellen search_query tar upp till 13 sekunder på MariaDB 10.6, jämfört med under 0,5 sekunder på MariaDB 11.4.

Steg som ska återskapas:

  1. Installera en ren instans med MariaDB 10.6 i testsyfte.

  2. Fyll i tabellen search_query med 2 miljoner poster.

  3. Kör följande SQL-fråga:

    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. Observera att frågan tar ca 13 sekunder att slutföra.

  5. Uppgradera databasen till MariaDB 11.4.

  6. Kör samma SQL-fråga igen:

    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. Observera att frågan nu slutförs på ungefär 0,4-0,5 sekunder.

Förväntade resultat:

Fråge- eller tabellstrukturen bör optimeras för att säkerställa minimal körningstid, oavsett MariaDB-versionen.

Faktiska resultat:

Frågan tar ca 13-15 sekunder på MariaDB 10.6 och 0.4-0.5 sekunder på MariaDB 11.4.

Tillämpa korrigeringen

Använd följande länkar beroende på distributionsmetod för att tillämpa enskilda korrigeringsfiler:

Relaterad läsning

Mer information om Quality Patches Tool finns i:

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