Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Sorgu deposu, PostgreSQL için Azure Veri Tabanı esnek bir sunucuda bulunan ve zaman içinde sorgu performansını izlemenin bir yolunu sağlayan bir özelliktir. Sorgu deposu, en uzun süre çalışan ve yoğun kaynak kullanan sorguları hızla bulmanıza yardımcı olarak performans sorunlarının giderilmesini basitleştirir. Sorgu deposu sorguların ve çalışma zamanı istatistiklerinin geçmişini otomatik olarak yakalar ve bunları gözden geçirmeniz için saklar. Zamansal kullanım desenlerini görebilmeniz için verileri zamana göre dilimler. Tüm kullanıcılar, veritabanları ve sorgular için veriler, PostgreSQL için Azure Veri Tabanı esnek sunucusunda adlı azure_sys bir veritabanında depolanır.
Sorgu deposunu etkinleştirme
Sorgu deposu ek ücret ödemeden kullanılabilir. Bu bir kabul etme özelliğidir, bu nedenle bir sunucuda varsayılan olarak etkinleştirilmez. Belirli bir sunucudaki tüm veritabanları için genel olarak sorgu deposunu etkinleştirebilir veya devre dışı bırakabilirsiniz. Bunu veritabanı bazında açıp kapatamazsınız.
Önemli
Performans sorunlarına neden olduğu için Query Store’u Burstable fiyatlandırma katmanında etkinleştirmeyin.
Azure portalında sorgu deposunu etkinleştirme
- Azure portalında oturum açın ve PostgreSQL için Azure Veri Tabanı esnek sunucunuzu seçin.
- Menünün Ayarlar bölümünde Parametreler'i seçin.
- parametresini
pg_qs.query_capture_modearayın. - En üst düzey sorguları mı yoksa iç içe sorguları mı (bir işlev veya yordam içinde yürütülen sorgular) izlemek istediğinize bağlı olarak değerini
topveyaallolarak ayarlayın ve Kaydet'i seçin. İlk veri toplu işleminin veritabanında kalıcı olmasıazure_sysiçin 20 dakikaya kadar izin verin.
Sorgu deposu bekleme örneklemesini etkinleştirme
- parametresini
pgms_wait_sampling.query_capture_modearayın. - Değeri
allolarak ayarlayın ve Kaydedin.
Sorgu deposundaki bilgiler
Sorgu deposu iki depodan oluşur:
- Sorgu yürütme istatistikleri bilgilerini kalıcı hale getiren çalışma zamanı istatistikleri deposu.
- Bekleme istatistikleri bilgilerini kalıcı hale getiren bir bekleme istatistikleri deposu.
Sorgu deposunu kullanmaya yönelik yaygın senaryolar şunlardır:
- Belirli bir zaman penceresinde bir sorgunun kaç kez yürütüldü olduğunu belirleme.
- Büyük varyasyonları görmek için zaman pencereleri arasında bir sorgunun ortalama yürütme süresini karşılaştırma.
- Son birkaç saat içinde en uzun süre çalışan sorguları tanımlama.
- Kaynakları bekleyen en üst N sorguları tanımlama.
- Belirli bir sorgu için beklemelerin doğasını anlama.
Alan kullanımını en aza indirmek için, çalışma zamanı istatistikleri deposundaki çalışma zamanı yürütme istatistikleri sabit, yapılandırılabilir bir zaman penceresi üzerinde toplanır. Görünümleri kullanarak bu depolardaki bilgileri sorgulayabilirsiniz.
Sorgu deposu bilgilerine erişme
PostgreSQL için Azure Veri Tabanı esnek sunucu, sorgu deposu verilerini azure_sys veritabanında depolar.
Aşağıdaki sorgu, sorgu deposunun kaydettiği sorgular hakkında bilgi verir:
SELECT * FROM query_store.qs_view;
Bu sorgu, bekleyen istatistikler hakkında bilgi döndürür:
SELECT * FROM query_store.pgms_wait_sampling_view;
Bekleme sorgularını bulun
Wait olay türleri, farklı bekleme olaylarını benzerliğe göre demetler halinde gruplandırmaktadır. Query Store bekleme olayı türünü, belirli bir bekleme olayı adını ve söz konusu sorguyu sağlar. Bu bekleme bilgilerini sorgu çalışma zamanı istatistikleriyle ilişkilendirdiğinizde, sorgu performansı özelliklerine nelerin katkıda bulunabileceğinizi daha iyi kavrarsınız.
Query Store bekleme istatistiklerini kullanarak iş yükünüzle ilgili daha fazla içgörü elde etmek için kullanabileceğiniz bazı örnekler aşağıda verilmiştir:
| Gözlem | Action |
|---|---|
| Yüksek kilit beklemeleri | Etkilenen sorgular için sorgu metinlerini denetleyin ve hedef varlıkları belirleyin. Sık yürütülen ve süresi yüksek olan ve aynı varlığı değiştiren diğer sorgular için Query Store bakın. Bu sorguları tanımladıktan sonra eşzamanlılığı geliştirmek için uygulama mantığını değiştirmeyi veya daha az kısıtlayıcı bir yalıtım düzeyi kullanmayı göz önünde bulundurun. |
| Yüksek arabellek GÇ beklemeleri | Sorgu Deposu'nda çok sayıda fiziksel okuma içeren sorguları bulun. Bunlar, G/Ç beklemesi yüksek sorgularla eşleşiyorsa, bu sorgular için fiziksel okuma sayısını azaltabilecek bazı dizinlerin oluşturulmasını önerip öneremeyeceğini görmek üzere otonom ayarlama özelliğini etkinleştirmeyi düşünün. |
| Yüksek bellek beklemeleri | Sorgu Deposu'nda en çok bellek tüketen sorguları bulun. Bu sorgular büyük olasılıkla etkilenen sorguların daha fazla ilerlemesini geciktirmiştir. |
Yapılandırma seçenekleri
Sorgu deposunu etkinleştirdiğinizde, verileri toplama pencerelerine kaydeder. Bu pencerelerin uzunluğu, varsayılan olarak 15 dakika olan pg_qs.interval_length_minutes parametresiyle belirlenir. Her pencere için sorgu deposu en fazla 500 ayrı sorgu depolar. Her sorgunun benzersizliğini ayırt eden öznitelikler ( user_id sorguyu yürüten kullanıcının tanımlayıcısı), db_id (sorgunun yürütüldiği bağlamda veritabanının tanımlayıcısı) ve query_id (sorguyu benzersiz olarak tanımlayan bir tamsayı değeridir). Yapılandırılan aralık boyunca ayrı sorguların sayısı 500'e ulaşırsa, sorgu deposu daha fazlasına yer açmak için kaydedilen sorguların 5% serbest bırakmaktadır. Önce serbest bırakılan sorgular, en az sayıda yürütülen sorgulardır.
Query Store parametrelerini yapılandırmak için aşağıdaki seçenekleri kullanın:
| Parameter | Açıklama | Varsayılan | Aralık |
|---|---|---|---|
pg_qs.interval_length_minutes |
Sorgu deposu için dakika cinsinden yakalama aralığı. Veri kalıcılığının sıklığını tanımlar. | 15 |
1 - 30 |
pg_qs.max_captured_queries |
Her yakalama aralığında kaydedilen tüm sorgular arasından sorgu deposunun kalıcı olarak sakladığı en yüksek sorgu sayısı. | 500 |
100 - 500 |
pg_qs.max_plan_size |
Sorgu deposunun sorgu planı metninden kaydettiği bayt sayısı üst sınırı. Daha uzun planlar kısaltılır. | 7500 |
100 - 10000 |
pg_qs.max_query_text_length |
Sorgu deposu tarafından kaydedilebilecek en fazla sorgu uzunluğu. Daha uzun sorgular kısaltılır. | 6000 |
100 - 10000 |
pg_qs.parameters_capture_mode |
Sorgu konumsal parametrelerinin yakalanıp yakalanmayacağı ve ne zaman yakalanacağı. | capture_parameterless_only |
capture_parameterless_only, capture_first_sample |
pg_qs.query_capture_mode |
İzlenecek ifadeler. | none |
none, top, all |
pg_qs.retention_period_in_days |
Sorgu deposu için gün cinsinden saklama süresi aralığı. Eski veriler otomatik olarak silinir. | 7 |
1 - 30 |
pg_qs.store_query_plans |
Sorgu deposuna sorgu planlarının kaydedilip kaydedilmeyeceği. | off |
on, off |
pg_qs.track_utility |
Sorgu deposu yardımcı program komutlarını izlemesi gerekip gerekmediği. | on |
on, off |
Uyarı
parametresinin pg_qs.max_query_text_length değerini değiştirirseniz, değişikliği yapmanızdan önce sorgunun yakaladığı tüm sorguların metni aynı query_id ve sql_query_textkullanmaya devam eder. Bu davranış, yeni değerin geçerli olmadığı izlenimini verebilir, ancak sorgu deposunun daha önce kaydetmediği sorgular için sorgu metninin yeni yapılandırılan maksimum uzunluğu kullandığını görürsünüz. Bu davranış tasarım gereğidir ve Görünümler ve işlevler'de açıklanmıştır.
query_store.qs_reset yürütürseniz, her sorgu kimliği için yakaladığı metin de dahil olmak üzere sorgunun şimdiye kadar kaydettiği tüm bilgileri kaldırır. Bu sorgulardan herhangi biri yeniden yürütülürse, yakalanan metne yeni yapılandırılan maksimum uzunluk uygulanır.
Aşağıdaki seçenekler özellikle bekleme istatistikleri için geçerlidir:
| Parameter | Açıklama | Varsayılan | Aralık |
|---|---|---|---|
pgms_wait_sampling.history_period |
Bekleme olaylarının örneklendiği milisaniye cinsinden sıklık. | 100 |
1 - 600000 |
pgms_wait_sampling.query_capture_mode |
pgms_wait_sampling uzantısının takip etmesi gereken ifadeler. |
none |
none, all |
Uyarı
pg_qs.query_capture_mode yerine alır pgms_wait_sampling.query_capture_mode. Eğer pg_qs.query_capture_mode, none ise, pgms_wait_sampling.query_capture_mode ayarının hiçbir etkisi yoktur.
Bir parametre için farklı bir değer almak veya ayarlamak için Azure portalını kullanın.
Görünümler ve işlevler
Sorgu deposu tarafından kaydedilen bilgileri sorgulayabilir ve veritabanının query_store şemasında azure_sys bulunan görünümleri ve işlevleri kullanarak silebilirsiniz. PostgreSQL genel rolündeki herkes sorgu deposundaki verileri görmek için bu görünümleri kullanabilir. Bu görünümler yalnızca azure_sys veritabanında kullanılabilir.
Sorgular, yapılarına bakılarak ve sabitler, takma adlar veya büyük/küçük harf farkları gibi anlamsal olarak önemsiz öğeleri göz ardı ederek normalleştirilir.
İki sorgu, aynı başvurulan sütunlar ve tablolar için farklı diğer adlar kullansalar bile, aynı query_id ile tanımlanır. İki sorgu yalnızca içinde kullanılan değişmez değerlerden farklıysa, aynı query_id ile de tanımlanırlar. Aynı query_id ile tanımlanan sorgular için sql_query_text, query store etkinlik kaydetmeye başlamasından beri veya kalıcı verilerin son atılma anından, ki bu query_store.qs_reset işlevi yürütüldüğünde gerçekleşmiştir, o ana kadar ilk önce yürütülen sorgunun sql_query_textdir.
Sorgu normalleştirme nasıl çalışır?
Aşağıdaki örneklerde sorgu normalleştirmesinin nasıl çalıştığı gösterilmektedir:
Aşağıdaki deyimi kullanarak bir tablo oluşturduğunuzu varsayalım:
create table tableOne (columnOne int, columnTwo int);
Query Store veri toplamayı etkinleştirirsiniz ve bir veya daha fazla kullanıcı aşağıdaki sorguları tam olarak şu sırada çalıştırır:
select * from tableOne;
select columnOne, columnTwo from tableOne;
select columnOne as c1, columnTwo as c2 from tableOne as t1;
select columnOne as "column one", columnTwo as "column two" from tableOne as "table one";
Önceki tüm sorgular aynı sorgu kimliğini paylaşır. Query Store, veri toplamayı etkinleştirdikten sonra çalıştırılan ilk sorgunun metnini tutar. Bu nedenle, metin select * from tableOne; şeklindedir.
AŞAĞıDAKI sorgu kümesi normalleştirildikten sonra önceki sorgu kümesiyle eşleşmiyor çünkü WHERE yan tümcesi onları birbirinden farklı yapıyor:
select columnOne as c1, columnTwo as c2 from tableOne as t1 where columnOne = 1 and columnTwo = 1;
select * from tableOne where columnOne = -3 and columnTwo = -3;
select columnOne, columnTwo from tableOne where columnOne = '5' and columnTwo = '5';
select columnOne as "column one", columnTwo as "column two" from tableOne as "table one" where columnOne = 7 and columnTwo = 7;
Ancak, bu son kümedeki tüm sorgular aynı sorgu kimliğini paylaşır. Tümünü tanımlayan metin, toplu işteki ilk sorgunun metnidir: select columnOne as c1, columnTwo as c2 from tableOne as t1 where columnOne = 1 and columnTwo = 1;.
Son olarak, aşağıdaki sorgular önceki toplu işteki sorguların sorgu kimliğiyle eşleşmiyor. Eşleşmemelerinin nedeni aşağıdaki listede açıklanmıştır:
Sorgu:
select columnTwo as c2, columnOne as c1 from tableOne as t1 where columnOne = 1 and columnTwo = 1;
Eşleşmeme nedeni: Sütun listesi aynı iki sütuna (columnOne ve ColumnTwo) atıfta bulunur, ancak sıraları tersidir. Sıra, önceki toplu işte columnOne, ColumnTwo iken bu sorguda ColumnTwo, columnOne olarak değişir.
Sorgu:
select * from tableOne where columnTwo = 25 and columnOne = 25;
Eşleşmeme nedeni: WHERE yan tümcesindeki ifadelerin değerlendirilme sırası tersine çevrilir. Sıra, önceki toplu işlemde columnOne = ? and ColumnTwo = ? iken bu sorguda ColumnTwo = ? and columnOne = ? olarak değişir.
Sorgu:
select abs(columnOne), columnTwo from tableOne where columnOne = 12 and columnTwo = 21;
Eşleşmeme nedeni: Sütun listesindeki ilk ifade artık columnOne değil, işlev abscolumnOne üzerinde abs(columnOne) değerlendirilmiş ve bu semantik olarak eşdeğer değildir.
Sorgu:
select columnOne as "column one", columnTwo as "column two" from tableOne as "table one" where columnOne = ceiling(16) and columnTwo = 16;
Eşleşmeme nedeni: WHERE yan tümcesindeki ilk ifade artık columnOne'in bir değişmez değerle eşitliğini değerlendirmiyor, bunun yerine işlevin ceiling'nin bir değişmez değer üzerinde değerlendirilmiş sonucu ile eşitliği değerlendiriyor ve bu anlamsal olarak eşdeğer değildir.
İzlenimler
query_store.qs_view
Bu görünüm, sorgu deposunun destekleyici tablolarında kalıcı olduğu tüm verileri döndürür. Sorgu deposunun halen etkin olan zaman penceresi için bellekte kaydettiği veriler, zaman penceresi sona erene ve bellek içi geçici veriler toplanana ve diskte depolanan tablolarda kalıcı hale gelene kadar görünmez. Bu görünüm, her ayrı veritabanı (db_id), kullanıcı (user_id) ve sorgu (query_id) için farklı bir satır döndürür.
| İsim | Türü | Referanslar | Açıklama |
|---|---|---|---|
runtime_stats_entry_id |
bigint | runtime_stats_entries tablosundaki kimlik numarası. | |
user_id |
Oıd | pg_authid.oid | İfadeyi yürüten kullanıcının OID'si. |
db_id |
Oıd | pg_database.oid | Ifadenin yürütüldüğü veritabanının OID'si. |
query_id |
bigint | İfadeye ait ayrıştırma ağacından hesaplanan iç hash kodu. | |
query_sql_text |
varchar(10000) | Temsili açıklama metni. Aynı yapıya sahip farklı sorgular birlikte kümelenir. Bu metin, kümedeki sorgulardan ilkinin metnidir. Maksimum sorgu metin uzunluğu için varsayılan değer 6.000'dir ve sorgu deposu parametresini pg_qs.max_query_text_lengthkullanarak değiştirebilirsiniz. Sorgu metni bu en yüksek değeri aşarsa, ilk pg_qs.max_query_text_length bayt olarak kesilir. |
|
plan_id |
bigint | Bu sorguya karşılık gelen planın kimliği. | |
start_time |
Tarih damgası | Sorgular zaman pencerelerine göre toplanır. Parametre pg_qs.interval_length_minutes , bu pencerelerin zaman aralığını tanımlar (varsayılan değer 15 dakikadır). Bu sütun, bu girişin kaydedildiği pencerenin başlangıç zamanına karşılık gelir. |
|
end_time |
Tarih damgası | Bu girişin zaman penceresine karşılık gelen bitiş saati. | |
calls |
bigint | Sorgunun bu zaman penceresinde kaç kez yürütüldü? Paralel sorgular için, her yürütmeye yönelik çağrı sayısı, sorgunun yürütülmesini yönlendiren arka uç işlemi için 1'e, ayrıca yürütme ağacının paralel dallarını yürütürken işbirliği yapmak üzere başlatılan her arka uç çalışan işlemi için diğer birimlere karşılık gelir. | |
total_time |
çift hassasiyet | Milisaniye cinsinden toplam sorgu yürütme süresi. | |
min_time |
çift hassasiyet | Milisaniye cinsinden en düşük sorgu yürütme süresi. | |
max_time |
çift hassasiyet | Milisaniye cinsinden en fazla sorgu yürütme süresi. | |
mean_time |
çift hassasiyet | Milisaniye cinsinden ortalama sorgu yürütme süresi. | |
stddev_time |
çift hassasiyet | Sorgu yürütme süresinin milisaniye cinsinden standart sapması. | |
rows |
bigint | İfade tarafından alınan veya etkilenen toplam satır sayısı. Paralel sorgular için, her yürütmenin satır sayısı, sorgunun yürütülmesini yönlendiren arka uç işlemi tarafından istemciye döndürülen satır sayısına ve her arka uç çalışan işleminin yürütme ağacının paralel dallarını yürütürken işbirliği yapmak için başlattığı tüm satırların toplamına karşılık gelir ve sorgunun yürütülmesini yönlendiren arka uç işlemine döner. | |
shared_blks_hit |
bigint | Paylaşılan blok önbelleği isabetlerinin toplam sayısı, deyim tarafından. | |
shared_blks_read |
bigint | ifade tarafından okunan toplam paylaşılan blok sayısı. | |
shared_blks_dirtied |
bigint | deyimi tarafından kirlenen toplam paylaşılan blok sayısı. | |
shared_blks_written |
bigint | Komutla yazılan toplam paylaşılan blok sayısı. | |
local_blks_hit |
bigint | İfade tarafından yerel blok önbellek isabetlerinin toplam sayısı. | |
local_blks_read |
bigint | deyimi tarafından okunan toplam yerel blok sayısı. | |
local_blks_dirtied |
bigint | deyimiyle kirlenen yerel blokların toplam sayısı. | |
local_blks_written |
bigint | Deyimin yazdığı toplam yerel blok sayısı. | |
temp_blks_read |
bigint | Deyimi tarafından okunan geçici blokların toplam sayısı. | |
temp_blks_written |
bigint | İfade tarafından yazılan toplam geçici blok sayısı. | |
blk_read_time |
çift hassasiyet | Deyimin okuma bloklarını harcadığı toplam süre (milisaniye cinsinden (track_io_timing etkinleştirilirse, aksi takdirde sıfır). | |
blk_write_time |
çift hassasiyet | Deyimin blokları yazmak için harcadığı toplam süre (milisaniye cinsinden (track_io_timing etkinleştirilirse, aksi takdirde sıfır). | |
is_system_query |
Boolean | user_id = 10 (azuresu) ile rolün sorguyu yürütip yürütmediğini belirler. Bu kullanıcının süper kullanıcı ayrıcalıkları vardır ve denetim düzlemi işlemlerini gerçekleştirmek için kullanılır. Bu hizmet yönetilen bir PaaS hizmeti olduğundan, yalnızca Microsoft bu süper kullanıcı rolünün bir parçasıdır. | |
query_type |
Başka bir metin sağlanmadığı için, verilen metne dayalı bir çeviri yapmam mümkün değil. Lütfen çevirilecek metni belirtin. | Sorgu tarafından temsil edilen işlemin türü. tr-TR: Olası değerler unknown, select, update, insert, delete, merge, utility, nothing, undefined. |
|
search_path |
Başka bir metin sağlanmadığı için, verilen metne dayalı bir çeviri yapmam mümkün değil. Lütfen çevirilecek metni belirtin. | Sorgu yakalanırken ayarlanan search_path değeri. | |
query_parameters |
Başka bir metin sağlanmadığı için, verilen metne dayalı bir çeviri yapmam mümkün değil. Lütfen çevirilecek metni belirtin. | Parametreli sorgunun konumsal parametrelerine geçirilen değerlerle bir JSON nesnesinin metin gösterimi. Bu sütun değerini yalnızca iki durumda doldurur: 1) parametresiz sorgular için. 2) Parametreli sorgular için, pg_qs.parameters_capture_mode olarak ayarlandığında capture_first_sample, ve sorgu deposu, yürütme sırasında sorgunun parametrelerinin değerlerini getirebilirse. |
|
parameters_capture_status |
Başka bir metin sağlanmadığı için, verilen metne dayalı bir çeviri yapmam mümkün değil. Lütfen çevirilecek metni belirtin. | Sorgu tarafından temsil edilen işlemin türü. Olası değerler şunlardır: succeeded (sorgu ya parametreleştirilmemişti ya da parametreleştirilmiş bir sorguydu ve değerler başarıyla yakalandı), disabled (sorgu parametreleştirildi, ancak pg_qs.parameters_capture_mode değeri capture_parameterless_only olarak ayarlandığı için parametreler yakalanmadı), too_long_to_capture (sorgu parametreleştirildi, ancak bu görünümün query_parameters sütununda gösterilecek JSON’un uzunluğu, sorgu deposunun kalıcı olarak saklaması için aşırı uzun kabul edildiğinden parametreler yakalanmadı), too_many_to_capture (sorgu parametreleştirildi, ancak toplam parametre sayısı, sorgu deposunun kalıcı olarak saklaması için fazla kabul edildiğinden parametreler yakalanmadı), serialization_failed (sorgu parametreleştirildi, ancak parametre olarak geçirilen değerlerden en az biri metne seri hale getirilemedi). |
query_store.query_texts_view
Bu görünüm, Sorgu Deposu'ndaki sorgu metin verilerini döndürür. Her ayrı query_sql_text için bir satır vardır.
| İsim | Türü | Açıklama |
|---|---|---|
query_text_id |
bigint | query_texts tablosunun kimliği |
query_sql_text |
varchar(10000) | Temsili açıklama metni. Aynı yapıya sahip farklı sorgular birlikte kümelenir. Bu metin, kümedeki sorgulardan ilkinin metnidir. |
query_type |
smallint | Sorgu tarafından temsil edilen işlemin türü. PostgreSQL'in <= 14 sürümlerinde olası değerler şunlardır: 0 (bilinmiyor), 1 (seç), 2 (güncelle), 3 (ekle), 4 (sil), 5 (yardımcı program), 6 (hiçbir şey). PostgreSQL >= 15 sürümlerinde olası değerler şunlardır: 0 (bilinmiyor), 1 (select), 2 (update), 3 (insert), 4 (delete), 5 (merge), 6 (yardımcı program), 7 (hiçbiri). |
query_store.pgms_wait_sampling_view
Bu görünüm Sorgu Deposu'ndaki bekleme olayları verilerini döndürür. Bu görünüm her ayrı veritabanı (db_id), kullanıcı (user_id), sorgu (query_id) ve olay (olay) için farklı bir satır döndürür.
| İsim | Türü | Referanslar | Açıklama |
|---|---|---|---|
start_time |
Tarih damgası | Sorgular zaman pencerelerine göre toplanır. Parametre pg_qs.interval_length_minutes , bu pencerelerin zaman aralığını tanımlar (varsayılan değer 15 dakikadır). Bu sütun, bu girişin kaydedildiği pencerenin başlangıç zamanına karşılık gelir. |
|
end_time |
Tarih damgası | Bu girişin zaman penceresine karşılık gelen bitiş saati. | |
user_id |
Oıd | pg_authid.oid | deyimini yürüten kullanıcının nesne tanımlayıcısı. |
db_id |
Oıd | pg_database.oid | deyiminin yürütüldiği veritabanının nesne tanımlayıcısı. |
query_id |
bigint | İfadeye ait ayrıştırma ağacından hesaplanan iç hash kodu. | |
event_type |
Başka bir metin sağlanmadığı için, verilen metne dayalı bir çeviri yapmam mümkün değil. Lütfen çevirilecek metni belirtin. | Arka planın beklediği olay türü. | |
event |
Başka bir metin sağlanmadığı için, verilen metne dayalı bir çeviri yapmam mümkün değil. Lütfen çevirilecek metni belirtin. | Arka plan işlem şu anda bekliyorsa bekleme olay adı. | |
calls |
tamsayı | Aynı olayın kaç kez yakalandığı. |
Uyarı
Görünümdeki event_type ve event sütunlarının olası değerler listesi için query_store.pgms_wait_sampling_view resmi dökümantasyonuna bakın ve aynı adlara sahip sütunlara başvuran bilgileri arayın.
query_store.query_plans_görünümü
Bu görünüm, sorguyu yürütmek için kullanılan sorgu planını döndürür. Her ayrı veritabanı kimliği ve sorgu kimliği başına bir satır vardır. Sorgu deposu yalnızca yardımcı olmayan sorgular için sorgu planlarını kaydeder.
| İsim | Türü | Referanslar | Açıklama |
|---|---|---|---|
plan_id |
bigint | EXPLAIN tarafından üretilen normalleştirilmiş sorgu planındaki karma değer. Plan düğümlerinin tahmini maliyetlerini ve arabellek kullanımını dışladığı için normalleştirilmiş biçimdedir. | |
db_id |
Oıd | pg_database.oid | Ifadenin yürütüldüğü veritabanının OID'si. |
query_id |
bigint | İfadeye ait ayrıştırma ağacından hesaplanan iç hash kodu. | |
plan_text |
varchar(10000) | "‘costs=false’, ‘buffers=false’ ve ‘format=text’ verilen deyimin yürütme planı." EXPLAIN tarafından üretilen çıktıyla aynı çıktı. |
Functions
query_store.qs_reset
Bu işlev, sorgu deposunun topladığı tüm istatistikleri atar. Zaten disk içi tablolarda kalıcı olan kapalı zaman pencerelerinin istatistiklerini atar. Ayrıca, yalnızca bellekte bulunan geçerli zaman penceresine ilişkin istatistikleri atar. Bu işlevi yalnızca sunucu yöneticisi rolünün (azure_pg_admin) üyeleri yürütebilir.
sorgu_mağazası.veri_geçici_alanı_sıfırla
Bu işlev, sorgu deposu tarafından bellekte toplanan tüm istatistikleri atar. Bu veriler henüz sorgu deposu için toplanan verilerin kalıcılığını destekleyen disk içi tablolara boşaltılmıyor. Bu işlevi yalnızca sunucu yöneticisi rolünün (azure_pg_admin) üyeleri yürütebilir.
Yalnızca okuma modu
PostgreSQL için Azure Veritabanı esnek sunucusu salt okunur moddaysa default_transaction_read_only (örneğin, parametresi olarak ayarlandığında onveya depolama kapasitesine ulaşıldığında salt okunur mod otomatik olarak etkinleştirilirse), sorgu deposu hiçbir veri yakalamaz.
Okuma amaçlı çoğaltmaları olan bir sunucuda sorgu deposunun etkinleştirilmesi, okuma amaçlı çoğaltmaların hiçbirinde sorgu deposunu otomatik olarak etkinleştirmez. Okuma amaçlı çoğaltmalardan herhangi birinde etkinleştirseniz bile sorgu deposu, okuma amaçlı çoğaltmalarda yürütülen sorguları kaydetmez. Okuma replikaları, siz bunları birincil olarak yükseltene kadar salt okunur modda çalışır.