Partition pruning'i (bölüm budama) doğrula
Oracle
EXPLAIN PLAN FOR
SELECT * FROM satis WHERE satis_tarihi = DATE '2026-01-15';
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);
-- Planda 'PARTITION RANGE ITERATOR/SINGLE' ve Pstart/Pstop sütunlarına bakın.Pstart/Pstop yalnız ilgili bölümlerin okunduğunu gösterir (KEY yerine sayı ideal). Bölüm anahtarına fonksiyon/örtük dönüşüm uygulamak budamayı engeller.
PostgreSQL
SET enable_partition_pruning = on;
EXPLAIN (ANALYZE)
SELECT * FROM satis WHERE satis_tarihi = DATE '2026-01-15';
-- Planda yalnız ilgili partition'ın (alt tablo) tarandığını doğrulayın.enable_partition_pruning açıkken planda yalnızca eşleşen bölümler görünür; diğerleri 'never executed' olur. Sabit değerlerde plan zamanı, parametrede çalışma zamanı budama olur.
MySQL
-- Hangi bölümlerin tarandığını göster:
EXPLAIN SELECT * FROM satis WHERE satis_tarihi = '2026-01-15';
-- 5.7 ve öncesi: EXPLAIN PARTITIONS SELECT ... (8.0'da kaldırıldı)MySQL 5.7+ düz EXPLAIN çıktısında 'partitions' sütunu taranacak bölümleri listeler (EXPLAIN PARTITIONS sözdizimi 8.0'da kaldırıldı); yalnız ilgili bölüm(ler) görünmelidir. Tüm bölümler listeleniyorsa budama gerçekleşmiyordur.
SQL Server
-- Bir değerin hangi bölüme düştüğünü bul:
SELECT $PARTITION.pf_satis_tarihi('2026-01-15') AS bolum_no;
-- Gerçek plandaki 'Actual Partition Count' ve 'Actual Partitions Accessed' değerlerini inceleyin.$PARTITION fonksiyonu bir değerin bölüm numarasını verir. Gerçek yürütme planında erişilen bölüm sayısı 1'e yakınsa budama etkindir; tüm bölümler taranıyorsa predicate uyumsuzdur.
MongoDB
// Sharded kümede shard key ile hedefli sorgu (targeted query):
db.satis.find({ magaza_id: 42 }).explain("executionStats")
// explain'de 'shards' altında yalnız ilgili shard görünmeli.Sorgu shard key içeriyorsa mongos yalnız ilgili shard'a yönlendirir (targeted); içermiyorsa tüm shard'lara yayılır (scatter-gather). explain çıktısında erişilen shard'ları doğrulayın.
Redis
# Uygulanamaz: tablo/bölüm kavramı yoktur.Veri dağıtımı Cluster hash slot'ları ile yapılır; sorgu budama yerine anahtar erişimi doğrudandır.
Elasticsearch
# Routing ile ilgili shard'a yönlendir:
GET <index>/_search?routing=musteri42
{ "query": { "term": { "musteri_id": 42 } } }
# Zaman bazlı index pattern ile yalnız ilgili indeksleri sorgula:
GET satis-2026-01/_searchcustom routing sorguyu tek shard'a indirger (budama benzeri). Zaman serisi verisinde tarih desenli index adı (satis-2026-01) yalnız ilgili index'lerin taranmasını sağlar; wildcard yerine dar desen kullanın.