sql >> Databáze >  >> RDS >> Mysql

MySQL pomalý dotaz s připojením, i když EXPLAIN ukazuje dobrý plán

Nejsem v této oblasti odborník, ale zde je několik myšlenek:

Rychlost dotazu trvá déle, když g.F2 změny jsou způsobeny ukládáním do mezipaměti. MySQL uloží výsledky pro každý dotaz (dokud se cache nezaplní), ale nové dotazy se spouštějí na prázdnou cache, takže to trvá déle. Na základě toho byste neměli optimalizovat. (Viz Jak na to přesně měřit )

Z vašich informací nemohu určit, zda g nebo gp tabulka má větší specifičnost (vypadá jako gp ?) v where klauzule, ale možná budete chtít místo toho zkusit poddotaz. (Viz Jak vynutit provedení vnitřního dotazu jako první )

Pokud jde o profilování, je možné, že narazíte na fyzický práh, jako je překročení alokace ram (použití swapu je pro výkon katastrofální), což by nebylo zřejmé z explain , nebo zda explain je v tomto případě prostě špatně.



  1. Oprava:„operátor neexistuje:celé číslo || celé číslo“ v PostgreSQL

  2. Vložení seznamu<> do tabulky SQL Server

  3. 4 způsoby, jak databáze zásob těží z maloobchodu

  4. Zobrazit tabulky FULLTEXT indexované sloupce