Provided by:
manpages-tr_1.0.5.1-1.1_all 
İSİM
ANALYZE - bir veritabanı hakkında istatistik toplar
KULLANIM
ANALYZE [ VERBOSE ] [ tablo [ (sütun [, ...] ) ] ]
AÇIKLAMA
ANALYZE veritabanındaki tabloların içerikleri hakkında istatistikleri
toplar ve bunları pg_statistic adlı sistem tablosuna kaydeder. Bundan
sonra sorgu planlamacısı sorguları en verimli çalıştırma planlarını
saptamak için kullanır.
Parametresiz olarak ANALYZE, çalışılan veritabanındaki tüm tabloları
inceleyecektir. Parametre olarak bir tablonun sadece sütun isimlerini
vermek mümkündür, bu durumda sadece bu sütunlarla ilgili istatistikler
toplanır.
PARAMETRELER
VERBOSE
İşlemin gelişimi hakkında daha ayrıntılı bilgi gösterir.
tablo Analiz edilecek tablonun ismi (ÅŸema nitelemeli olabilir).
Belirtilmezse veritabanındaki tüm tablolar öntanımlıdır.
sütun Analiz edilecek sütunun ismi. Belirtilmezse, tüm sütunlar
öntanımlıdır.
ÇIKTILAR
VERBOSE belirtildiÄŸinde, ANALYZE iÅŸleme sokulan tablolarla ilgili
sürecin gelişimi ile ilgili iletiler basar. Bu arada tablolar hakkında
çeşitli istatistikleri de gösterir.
EK BİLGİ
ANALYZE deyimi düzenli aralıklarla ya da bir tablonun içeriğinde
büyükçe bir değişiklik yaptıktan hemen sonra çalıştırılırsa iyi olur.
Toplanan istatistikler planlamacıya en uygun sorgu planını seçmekte
yardımcı olarak, sorgu işleminin hızını arttırmasını sağlayacaktır.
Genel bir strateji, işlemler bakımından günün en sakin zamanında VACUUM
[vacuum(7)] ve ANALYZE çalıştırmaktır.
VACUUM FULL deyiminin aksine, ANALYZE hedef tabloda sadece bir okuma
kilidi gerektirir, böylece tablo üzerinde aynı anda başka etkinlikler
de yapabilir.
ANALYZE tarafından toplanan istatistikler genellikle, her sütundaki en
ortak değerler ile her sütundaki yaklaşık veri dağılımını gösteren bir
çan çizgesi içerir. Bunlardan biri ya da her ikisi de, ANALYZE bunları
ilginç bulmazsa (örneğin, bir sütundaki değerlerin eşsiz olması
istenmişse, burada ortak bir değer olmayacaktır) ya da sütun veri türü
ilgili işleçleri desteklemiyorsa atlanabilir. İstatistikler ile ilgili
daha ayrıntılı bilgiyi
http://www.postgresql.org/docs/8.0/static/maintenance.html adresinde
bulabilirsiniz.
Çok büyük tablolarda, ANALYZE her satırı tek tek incelemek yerine tablo
içeriğinden rasgele örnekler alır. Bu, çok büyük tabloların analizinin
çok kısa bir sürede gerçekleştirilmesini mümkün kılar. Ancak bu
istatistikler yaklaşıktır ve ANALYZE'ın her çalıştırılışında, tablo
içeriği çok fazla değişmemiş olsa bile, çok değişik sonuçlar elde
edilebilir. Bu, EXPLAIN tarafından gösterilen planlamacının tahmini
maliyetlerinde küçük değişiklikler şeklinde sonuçlanabilir. Yaygın
olarak, bu belirlenimci olmayan yaklaşım, ANALYZE'ın her
çalıştırılışında sorgu eniyilecinin farklı sorgu planları seçmesine
sebep olur. Bundan kaçınmak için, ANALYZE tarafından toplanan
istatistik miktarını aşağıda açıklandığı gibi arttırmalısınız.
Analizin genişletilmesi, her sütun için istatistik hedefi ALTER TABLE
... ALTER COLUMN ... SET STATISTICS ile belirtilerek sütun sütun ya da
default_statistics_target yapılandırma değişkeninin değeriyle
denetlenebilir (ALTER TABLE [alter_table(7)] kılavuz sayfasına
bakınız). Hedef değer, en ortak değer listesindeki girdilerin azami
sayısı ve çan çizgesindeki azami çubuk sayısı olarak belirtilir. Ön
tanımlı hedef değeri 10'dur. Bu değer, ANALYZE işleminin aldığı zaman
ve pg_statistic tablosunun kapladığı alan ile planlamacının
tahminlerindeki doğruluk arasındaki dengeyi sağlayacak bir değere
ayarlanabilir. Ayrıca, istatistik hedefini sıfır olarak belirtmek, o
sütundan istatistik toplanmamasını sağlayacaktır. Sorguların WHERE,
GROUP BY veya ORDER BY deyimlerinin hiçbir zaman bir parçası olmayacak
sütunlar için, planlamacı böyle sütunların istatistiklerini
kullanmayacağından bunu yapmak faydalı olabilir.
Analizi yapılacak sütunlar arasında en geniş istatistik hedefini,
istatistikleri hazırlamakta kullanılan örnek alınmış tablo satırlarının
sayısı belirler. Hedefin arttırılması ANALYZE sonuçlarının kaydı için
harcanan alanın ve işlem için harcanan zamanın orantılı olarak
artmasına sebep olur.
UYUMLULUK
SQL standardında ANALYZE diye bir deyim yoktur.
ÇEVİREN
Nilgün Belma Bugüner <nilgun (at) belgeler·gen·tr>, Nisan 2005