DBAtlas · Veritabanı operasyon atlası

Sorgu planını sabitle / zorla (plan baseline / hint)

Oracle

-- Cursor cache'teki iyi planı baseline olarak yükle:
DECLARE n NUMBER; BEGIN
  n := DBMS_SPM.LOAD_PLANS_FROM_CURSOR_CACHE(sql_id => '&sql_id');
END;
/

SQL Plan Management planı kilitler; regresyona karşı en güçlü koruma. Hint için /*+ ... */ da kullanılabilir.

PostgreSQL

-- Yerleşik plan sabitleme yoktur; pg_hint_plan eklentisi:
/*+ IndexScan(musteri musteri_il_idx) */ SELECT ... ;

Alternatif: enable_seqscan gibi ayarlarla oturum düzeyinde yönlendir; kalıcı sabitleme için pg_hint_plan.

MySQL

SELECT /*+ INDEX(musteri musteri_il_idx) */ * FROM musteri WHERE il='Ankara';

Optimizer hint'leri sorguya gömülür. Kalıcı yeniden yazım için query rewrite plugin.

SQL Server

-- Query Store'da iyi planı zorla:
EXEC sp_query_store_force_plan @query_id = 42, @plan_id = 17;

Query Store açık olmalı. Ayrıca OPTION (USE PLAN N'...') veya plan guide.

MongoDB

// Sorguya indeks zorla:
db.musteri.find({ il: "Ankara" }).hint({ il: 1 })
// Kalıcı: db.musteri.getPlanCache() / index filter

hint belirli index'i zorlar; planCacheClear ile bayat planı temizle.

Redis

# Uygulanamaz: sorgu planlayıcı yoktur.

Performans veri yapısı ve komut karmaşıklığından gelir.

Elasticsearch

# Plan sabitleme yoktur; sorguyu/indeksi ve routing'i optimize edin.
GET <index>/_search { "profile": true, "query": {...} }

profile ile hangi sorgunun pahalı olduğunu görün; shard/routing ile yönlendirin.

DBAtlas'ta aç →