DBAtlas · Veritabanı operasyon atlası

Bir sorgunun çalışma planını (EXPLAIN) al

Oracle

EXPLAIN PLAN FOR
SELECT * FROM musteri WHERE il = 'Ankara';
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);
-- Gerçek çalışmış plan için:
-- SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR('&sql_id', NULL, 'ALLSTATS LAST'));

EXPLAIN PLAN tahmini planı verir; gerçek satır sayıları için DISPLAY_CURSOR + STATISTICS_LEVEL=ALL.

PostgreSQL

EXPLAIN (ANALYZE, BUFFERS, FORMAT TEXT)
SELECT * FROM musteri WHERE il = 'Ankara';

ANALYZE sorguyu GERÇEKTEN çalıştırır (INSERT/UPDATE/DELETE'te dikkat; transaction içinde ROLLBACK ile deneyin).

MySQL

EXPLAIN ANALYZE
SELECT * FROM musteri WHERE il = 'Ankara';
-- Yalnız tahmin (çalıştırmaz): EXPLAIN FORMAT=JSON SELECT ...;

EXPLAIN ANALYZE (MySQL 8.0.18+) sorguyu çalıştırır; FORMAT=JSON çalıştırmadan detay verir.

SQL Server

SET STATISTICS PROFILE ON;
SELECT * FROM dbo.musteri WHERE il = 'Ankara';
SET STATISTICS PROFILE OFF;
-- Yalnız tahmini plan (çalıştırmaz):
-- SET SHOWPLAN_XML ON;

SSMS'te 'Include Actual Execution Plan' (Ctrl+M) görsel planı verir.

MongoDB

db.musteri.find({ il: "Ankara" }).explain("executionStats")

executionStats gerçek dönen belge sayısını ve index kullanımını (IXSCAN vs COLLSCAN) gösterir.

Redis

# Uygulanamaz: Redis'te sorgu planlayıcı yoktur.
# Her komutun karmaşıklığı belgelidir (ör. GET O(1), SORT O(N+M*log(M))).

Performans, komut karmaşıklığından ve anahtar/veri yapısı boyutundan gelir; SLOWLOG ile ölçün.

DBAtlas'ta aç →