[Alleen PaaS]{class="badge informative" title="Is alleen van toepassing op Adobe Commerce op Cloud-projecten (door Adobe beheerde PaaS-infrastructuur) en op projecten in het veld."}

ACSD-68040: De voorste zoekpagina wordt MariaDB 10.6 met grote historie langzamer

De ACSD-68040-patch verhelpt het probleem waarbij de voorste zoekpagina een aanzienlijke verslechtering van de prestaties ondervindt wanneer deze op MariaDB 10.6 wordt uitgevoerd met een groot aantal historische zoekverzoeken. Deze patch is beschikbaar wanneer Quality Patches Tool (QPT) 1.1.72 wordt geïnstalleerd. De patch-id is ACSD-68040.

Betrokken producten en versies

het flard wordt gecreeerd voor de versie van Adobe Commerce:

  • Adobe Commerce (alle implementatiemethoden) 2.4.6-p12

Compatibel met de versies van Adobe Commerce:

  • Adobe Commerce (alle implementatiemethoden) 2.4.4 - 2.4.6-p12
NOTE
De patch kan van toepassing worden op andere versies met nieuwe Quality Patches Tool versies. Om te controleren of de patch compatibel is met uw Adobe Commerce-versie, werkt u het magento/quality-patches -pakket bij naar de meest recente versie en controleert u de compatibiliteit op de Quality Patches Tool : zoek naar patches op de pagina ​ . Gebruik de patch-id als een zoekwoord om de patch te zoeken.

Probleem

De zoekpagina aan de voorzijde vertraagt aanzienlijk op MariaDB 10.6 bij het verwerken van een groot aantal historische zoekverzoeken. Een query voor de search_query -tabel duurt maximaal 13 seconden op MariaDB 10.6, vergeleken met minder dan 0,5 seconden op MariaDB 11.4.

Stappen om te reproduceren:

  1. Installeer een schone instantie met MariaDB 10.6 voor testdoeleinden.

  2. Vul de tabel search_query met 2 miljoen items.

  3. Voer de volgende SQL-query uit:

    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. Merk op dat de vraag ongeveer 13 seconden vergt om te voltooien.

  5. Voer een upgrade van de database uit naar MariaDB 11.4.

  6. Voer dezelfde SQL-query opnieuw uit:

    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. Merk op dat de vraag nu in ongeveer 0.4-0.5 seconden voltooit.

Verwachte resultaten :

De vraag of lijststructuur zou moeten worden geoptimaliseerd om minimale uitvoeringstijd, ongeacht de versie MariaDB te verzekeren.

Ware resultaten :

De query duurt ongeveer 13-15 seconden op MariaDB 10.6 en 0.4-0.5 seconden op MariaDB 11.4.

De patch toepassen

Om individuele flarden toe te passen, gebruik de volgende verbindingen afhankelijk van uw plaatsingsmethode:

Gerelateerde lezing

Meer informatie over Quality Patches Tool vindt u in:

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