EXPLAIN ANALYZE: Abfragen profilieren
Wenn einer Abfrage EXPLAIN ANALYZE vorangestellt wird, wird der Abfrageplan formatiert ausgegeben
und die Abfrage ausgeführt. Dabei werden Laufzeitkennzahlen für jeden Operator sowie die geschätzte Kardinalität (EC) und die tatsächliche Kardinalität angegeben.
EXPLAIN ANALYZE SELECT * FROM tbl;Beachten Sie, dass die kumulierte Wall-Clock-Zeit angezeigt wird, die auf jeden Operator entfällt. Wenn mehrere Threads die Abfrage parallel verarbeiten, kann die Gesamtverarbeitungszeit der Abfrage niedriger sein als die Summe der Zeiten aller einzelnen Operatoren.
Bei Multi-File-Reads (z. B. dem Lesen mehrerer Parquet-Dateien) enthält die Ausgabe die gelesenen Dateinamen.
Unten ein Beispiel für EXPLAIN ANALYZE auf einer Abfrage:
CREATE TABLE students (name VARCHAR, sid INTEGER);CREATE TABLE exams (eid INTEGER, subject VARCHAR, sid INTEGER);INSERT INTO students VALUES ('Mark', 1), ('Joe', 2), ('Matthew', 3);INSERT INTO exams VALUES (10, 'Physics', 1), (20, 'Chemistry', 2), (30, 'Literature', 3);
EXPLAIN ANALYZE SELECT name FROM students JOIN exams USING (sid) WHERE name LIKE 'Ma%';┌─────────────────────────────────────┐│┌───────────────────────────────────┐│││ Total Time: 0.0008s │││└───────────────────────────────────┘│└─────────────────────────────────────┘┌───────────────────────────┐│ EXPLAIN_ANALYZE ││ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ││ 0 ││ (0.00s) │└─────────────┬─────────────┘┌─────────────┴─────────────┐│ PROJECTION ││ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ││ name ││ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ││ 2 ││ (0.00s) │└─────────────┬─────────────┘┌─────────────┴─────────────┐│ HASH_JOIN ││ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ││ INNER ││ sid = sid ││ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ├──────────────┐│ EC: 1 │ ││ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ ││ 2 │ ││ (0.00s) │ │└─────────────┬─────────────┘ │┌─────────────┴─────────────┐┌─────────────┴─────────────┐│ SEQ_SCAN ││ FILTER ││ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ││ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ││ exams ││ prefix(name, 'Ma') ││ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ││ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ││ sid ││ EC: 1 ││ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ││ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ││ EC: 3 ││ 2 ││ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ││ (0.00s) ││ 3 ││ ││ (0.00s) ││ │└───────────────────────────┘└─────────────┬─────────────┘┌─────────────┴─────────────┐│ SEQ_SCAN ││ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ││ students ││ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ││ sid ││ name ││ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ││ Filters: name>=Ma AND name││ <Mb AND name IS NOT NULL ││ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ││ EC: 1 ││ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ││ 2 ││ (0.00s) │└───────────────────────────┘Siehe auch
Weitere Informationen finden Sie auf der Seite „Profiling“.