Sobes.tech
Middle+

Mi a különbség az EXPLAIN és az EXPLAIN ANALYZE parancsok között a PostgreSQL-ben?

sobes.tech MI

Válasz az MI-től

A EXPLAIN parancs PostgreSQL-ben megmutatja egy SQL lekérdezés végrehajtási tervét, vagyis hogy az adatbázis hogyan tervezi beszerezni az adatokat (használt indexek, szekvenciális szkennelés, összekapcsolások stb.). Nem hajtja végre a lekérdezést, csak elemzi.

Az EXPLAIN ANALYZE nemcsak a tervet mutatja, hanem ténylegesen végrehajtja a lekérdezést, gyűjtve statisztikákat minden lépés végrehajtási idejéről és a feldolgozott sorok számáról. Ez lehetővé teszi a valódi teljesítmény megtekintését és a szűk keresztmetszetek azonosítását.

Példa:

EXPLAIN SELECT * FROM users WHERE id = 10;

EXPLAIN ANALYZE SELECT * FROM users WHERE id = 10;

Az első megmutatja a tervet, a második — a tervet valódi mérőszámokkal.