Database Autonomy Service (DAS), yürütme süresi belirtilen bir eşiği aşan SQL deyimlerini analiz eder; yürütme eğilimlerini ve istatistikleri sunar; optimizasyon önerileri sağlar. Veritabanı performansını ve kararlılığını etkileyen yavaş sorguları tespit edip çözmek için bu özelliği kullanın.
Sınırlamalar
| Öğe | Sınır |
|---|---|
| Günlük girdisi boyutu | Girdi başına maksimum 16 KB. Bu uzunluğu aşan içerik kırpılır. |
| Basic Edition desteği | ApsaraDB RDS for MySQL Basic Edition örnekleri, yavaş sorgu günlüklerini görüntülemeyi ve dışa aktarmayı destekler ancak SQL tanılama veya SQL optimizasyonunu desteklemez. |
Ön koşullar
Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:
Bir ApsaraDB RDS for MySQL örneği
(İsteğe bağlı) RAM kullanıcınıza verilen
AliyunHDMFullAccessizni
Yavaş sorgu günlüklerini görüntüleme ve analiz etme
Instances sayfasına gidin. Üst gezinme çubuğunda, RDS örneğinizin bulunduğu bölgeyi seçin. Örneği bulun ve kimliğine tıklayın.
Sol gezinme bölmesinde, Autonomy Services > Slow Query Logs seçeneklerini belirleyin.
Slow Log Analysis sekmesinde bir zaman aralığı belirtin. > Not: Bitiş saati, başlangıç saatinden sonra olmalıdır. Maksimum zaman aralığı 7 gündür. Yavaş sorgu günlük verileri son bir ay için kullanılabilir.
Sayfa aşağıdaki bölümleri gösterir:
Yavaş Sorgu Günlüğü Eğilimleri
Seçilen dönemdeki yavaş sorguların dağılımını gösteren bir zaman serisi grafiği. Grafiğin içindeki bir noktaya tıklayarak ilgili Slow Query Log Statistics ve Slow Query Log Details bölümlerine inin.
Uzun bir yavaş SQL deyimi tam olarak görüntülenemiyorsa, tam deyimi görmek için üzerine gelin.
Olay Dağılımı
Yavaş sorgu olaylarının dağılımını gösterir.
Yavaş Sorgu Günlüğü İstatistikleri
SQL şablonuna göre gruplandırılmış toplu istatistikler. Kullanılabilir filtre koşulları veritabanı altyapısına göre değişir.
| Eylem | Açıklama |
|---|---|
| SQL ID öğesine tıklayın | Kullanıcı dağılımı, istemci dağılımı ve ölçüm eğilimleri dahil olmak üzere SQL şablonu için korelasyonları ve ayrıntıları görüntüleyin. |
| Optimize | SQL tanılama çalıştırın. DAS, deyimi karmaşıklığına, ilgili tablonun veri hacmine ve veritabanı iş yüküne göre analiz eder. Tanılama 20 saniyeden fazla sürebilir. Tamamlandığında DAS bir tanılama sonucu, optimizasyon önerileri ve beklenen performans iyileştirmeleri sağlar. |
| Throttling | SQL deyimi için bir kısıtlama kuralı oluşturun. Daha fazla bilgi için bkz. SQL throttling. |
| IMCI (yalnızca PolarDB for MySQL) | Büyük veri kümelerinde karmaşık sorgu performansını artırmak için In-Memory Column Index (IMCI) belgelerini görüntüleyin. Bu düğme, PolarDB for MySQL örneğinde IMCI düğümü olmadığında, Maximum Execution Duration değeri 20 saniyeyi aştığında ve Maximum Scanned Rows değeri 200.000'i aştığında görünür. |
Yavaş Sorgu Günlüğü Ayrıntıları
Tek tek yavaş sorgu kayıtları. Belirli bir deyim için SQL tanılama çalıştırmak veya kısıtlama kuralı oluşturmak amacıyla Actions sütunundaki Optimize veya Throttling seçeneğine tıklayın.
Yavaş günlük verilerini yerel olarak dışa aktarmak için
simgesine tıklayın.
Seçilen parametreleri API hata ayıklama için OpenAPI konsoluna doldurmak üzere
simgesine tıklayın.
Temel ölçümler
| Ölçüm | Açıklama |
|---|---|
| Maximum Scanned Rows | Seçilen zaman aralığında yavaş sorgular sırasında taranan maksimum satır sayısı. |
| SQL Template | Aynı türdeki SQL deyimleri için oluşturulan normalleştirilmiş sorgu deseni. |
| Slow SQL Sample | Bir SQL şablonundan düzenli aralıklarla toplanan temsilci bir örnek. Örnekler tüm yavaş sorgu günlüklerini kapsamaz. Tam liste için bkz. View details about the slow query logs. |
| Slow Log Details | Yürütme süresi long_query_time parametresi değerini aşan sorgular için ayrıntılı kayıtlar. Yavaş sorgu günlüğü analizi özelliği varsayılan olarak etkindir. |
Dizin kullanmayan sorguları günlüğe kaydetme
Yürütme süreleri long_query_time eşiğinin altında olsa bile dizin kullanmayan SQL sorgularını kaydetmek için log_queries_not_using_indexes parametresini etkinleştirin. Daha fazla bilgi için bkz. MySQL slow query log documentation.
SSS
Neden yavaş sorgu günlüklerindeki yürütme tamamlanma zamanı gerçek zamanla farklılık gösterir?
Bu durum genellikle bir SQL deyiminin oturum düzeyindeki saat dilimini değiştirdiğinde gerçekleşir. Yavaş sorgu günlükleri, yürütme tamamlanma zamanını oturum, veritabanı ve sistem olmak üzere üç düzeydeki saat dilimine göre kaydeder. Veritabanı düzeyinde bir saat dilimi ayarlanmışsa bu saat dilimi kullanılır. Aksi takdirde sistem saat dilimi uygulanır. Bir deyim oturum saat dilimini değiştirdiğinde kaydedilen zaman, gerçek yürütme tamamlanma zamanıyla eşleşmeyebilir.
Başvurular
Use the automatic SQL optimization feature -- DAS, algıladığında yavaş SQL sorgularını otomatik olarak optimize edebilir.
Use the automatic SQL throttling feature -- DAS, veritabanı kararlılığını korumak için yavaş SQL sorgularını otomatik olarak kısıtlayabilir.