Sorgular icin 3 aşama uygulanır.
Parse Analyze (Optimizer) Execute Postgres ’e Query Backend denir. Sorgular Postgres tarafından calıştırılır.
Shared Buffers sabit alanı kernel tarafından ayrılıp postmaster ’a verilir. Tum sorgu (query) işlemleri bu Shared Buffers alanında calıştırılır. Shared Buffers ’ta tutulan veriler veriler diskin bir yansısı olarak duşunulebilir. Diskteki veri ile Shared Buffers ’taki veri aynı ise clean buffer olarak adlandırılır. Clean-Dirty durumunu kernel bilir.
SELECT * FROM customers
Bir sorgu calıştırılacağı zaman Shared Bufffers ’da verinin olup olmadığına bakılır, eğer yok ise kernel tarafından ilk olarak cache ’e bakılır eğer orada da yok ise diske gidilir, ilgili veriler shared buffers ’a taşınır ve sorgu calıştırılır. Sorgu calıştırıldıktan sonra sonuc postgres ’e atılır, postgres de sonucu client ’a yollar.
Eğer yapılan sorgunun sonucunun boyutu shared buffers ’ın fiziksel boyutundan buyuk ise, shared buffers bypass edilebilir.
Genişletmek icin tıkla ...
INSERT INTO customers(name) VALUES('bora')
Bir insert sorgusu calıştırılacağı zaman diske yazılmasına gerek yoktur, direkt olarak Shared Buffers ’a yazılabilir, daha sonra bu veriler disk ile eşlenir. Disk ile eşlenmemiş, yani disk ile aynı olmayan veriler Dirty Buffer olarak adlandırılır.
PostgreSQL Sorguların Calıştırılması
Database0 Mesaj
●1 Görüntüleme
- ReadBull.net
- Programlama ve Yazılım
- Database
- PostgreSQL Sorguların Calıştırılması
-
02-09-2022, 01:49:29