CodeBlanks Logo Icon CodeBlanks

Plan cache

Plan önbelleğini öğrenirsin.

Plan cache

Plan cache, hazırlanmış (prepared) sorguların yürütme planını saklar. Aynı sorgu tekrar gelince iyileştirici yeniden çalışmaz; hazır plan kullanılır.

PREPARE get_order(text) AS
SELECT * FROM orders WHERE id = $1;
EXECUTE get_order('100');

Bu sorgu plan cache tekrarı hızlandırır.

orders kaynağından tüm sütunlar seçilir. WHERE id = $1 koşulunu sağlamayan satırlar elenir.

Plan cache — ayrıntı

Bazı durumlarda parametrik plan yanlış olur: ilk çalıştırmada seyrek değer, sonraki çalıştırmada sık değer gelirse plan uyumsuzlaşır. Bu durumda plan yeniden derlenir.

Uygulama Plan cache

get_order(text) adında prepared sorgu oluştur: orders tablosundan id = $1 satırını seç.

Başlangıç kodu

query.sql
-- plan cache
PREPARE get_order(text)

Örnek çözüm

query.sql
PREPARE get_order(text) AS SELECT * FROM orders WHERE id = $1;

Beklenen çıktı

PREPARE

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Hazırla ve çalıştır

Soru
PREPARE get_order(text) AS
SELECT * FROM orders WHERE id = ____;
Cevap
PREPARE get_order(text) AS
SELECT * FROM orders WHERE id = $1;

Açıklama: $1 hazırlanmış sorgunun ilk parametresidir; değer çalıştırırken ayrı verilir.

2 Plan cache: kavramları eşleştir

Kavram Anlamı
prepared hazırlanan
cache önbellek
plan plan
reuse yeniden

3 Plan cache neyi saklar?

  • Tetikleyici kodunu
  • Kullanıcı verisini
  • Yürütme planını Doğru cevap
  • Yedek dosyasını

Açıklama: Plan cache yürütme planını saklar.

Uzman bölümündeki tüm dersler