.\" http://belgeler.org \- 2018\-02\-08T10:38:20Z .TH "ANALYZE" 7 "" "PostgreSQL" "SQL \- Dil Deyimleri" .nh .PD 0 .SH İSİM ANALYZE \- bir veritabanı hakkında istatistik toplar .SH KULLANIM .nf \fBANALYZE\fR [ \fBVERBOSE\fR ] [ \fItablo\fR [ (\fIsütun\fR [, ...] ) ] ] .fi .SH AÇIKLAMA \fBANALYZE\fR 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 \fBANALYZE\fR, ç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. .SH PARAMETRELER .br .ns .TP \fBVERBOSE\fR İşlemin gelişimi hakkında daha ayrıntılı bilgi gösterir. .TP \fItablo\fR Analiz edilecek tablonun ismi (şema nitelemeli olabilir). Belirtilmezse veritabanındaki tüm tablolar öntanımlıdır. .TP \fIsütun\fR Analiz edilecek sütunun ismi. Belirtilmezse, tüm sütunlar öntanımlıdır. .PP .SH ÇIKTILAR \fBVERBOSE\fR belirtildiğinde, \fBANALYZE\fR işleme sokulan tablolarla ilgili sürecin gelişimi ile ilgili iletiler basar. Bu arada tablolar hakkında çeşitli istatistikleri de gösterir. .SH EK BİLGİ \fBANALYZE\fR 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 \fBVACUUM\fR [vacuum(7)] ve \fBANALYZE\fR çalıştırmaktır. \fBVACUUM FULL\fR deyiminin aksine, \fBANALYZE\fR hedef tabloda sadece bir okuma kilidi gerektirir, böylece tablo üzerinde aynı anda başka etkinlikler de yapabilir. \fBANALYZE\fR 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, \fBANALYZE\fR 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 .br http://www.postgresql.org/docs/8.0/static/maintenance.html adresinde bulabilirsiniz. Çok büyük tablolarda, \fBANALYZE\fR 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 \fBANALYZE\fR\N'39'ı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, \fBEXPLAIN\fR 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, \fBANALYZE\fR\N'39'ın her çalıştırılışında sorgu eniyilecinin farklı sorgu planları seçmesine sebep olur. Bundan kaçınmak için, \fBANALYZE\fR 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 \fBALTER TABLE ... ALTER COLUMN ... SET STATISTICS\fR ile belirtilerek sütun sütun ya da default_statistics_target yapılandırma değişkeninin değeriyle denetlenebilir (\fBALTER TABLE\fR [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\N'39'dur. Bu değer, \fBANALYZE\fR 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 \fBWHERE\fR, \fBGROUP BY\fR veya \fBORDER BY\fR 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ı \fBANALYZE\fR 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. .SH UYUMLULUK SQL standardında \fBANALYZE\fR diye bir deyim yoktur. .SH ÇEVİREN Nilgün Belma Bugüner , Nisan 2005