Ausführungsplan einer Abfrage anzeigen (EXPLAIN)
Oracle
EXPLAIN PLAN FOR
SELECT * FROM customer WHERE city = 'Ankara';
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);
-- For the actual executed plan:
-- SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR('&sql_id', NULL, 'ALLSTATS LAST'));EXPLAIN PLAN liefert den geschätzten Plan; für tatsächliche Zeilenzahlen DISPLAY_CURSOR + STATISTICS_LEVEL=ALL verwenden.
PostgreSQL
EXPLAIN (ANALYZE, BUFFERS, FORMAT TEXT)
SELECT * FROM customer WHERE city = 'Ankara';ANALYZE führt die Abfrage TATSÄCHLICH aus (Vorsicht bei INSERT/UPDATE/DELETE; in einer Transaktion testen und ROLLBACK ausführen).
MySQL
EXPLAIN ANALYZE
SELECT * FROM customer WHERE city = 'Ankara';
-- Estimate only (does not execute): EXPLAIN FORMAT=JSON SELECT ...;EXPLAIN ANALYZE (MySQL 8.0.18+) führt die Abfrage aus; FORMAT=JSON liefert Details ohne Ausführung.
SQL Server
SET STATISTICS PROFILE ON;
SELECT * FROM dbo.customer WHERE city = 'Ankara';
SET STATISTICS PROFILE OFF;
-- Estimated plan only (does not execute):
-- SET SHOWPLAN_XML ON;In SSMS zeigt „Include Actual Execution Plan“ (Ctrl+M) den grafischen Plan.
MongoDB
db.customer.find({ city: "Ankara" }).explain("executionStats")executionStats zeigt die tatsächliche Anzahl zurückgegebener Dokumente und die Indexnutzung (IXSCAN vs. COLLSCAN).
Redis
# Not applicable: Redis has no query planner.
# The complexity of each command is documented (e.g. GET O(1), SORT O(N+M*log(M))).Die Performance ergibt sich aus der Befehlskomplexität und der Größe der Keys/Datenstrukturen; mit SLOWLOG messen.