Database Autonomy Service (DAS), otomatik olarak tanılama sonuçları, iyileştirme önerileri ve tahmini performans kazançları üreten bir SQL iyileştirme özelliği sunar. Bu sonuçları inceleyerek önerileri uygulayıp uygulamayacağınıza karar verebilirsiniz. Bu konuda SQL iyileştirme özelliğinin nasıl kullanılacağı açıklanmaktadır.
Ön koşullar
-
Veritabanı altyapısı aşağıdakilerden biri olmalıdır:
-
RDS for MySQL
NotRDS for MySQL Basic ve Cluster sürümleri desteklenmez.
MyBase MySQL
-
PolarDB for MySQL
NotPolarDB for MySQL tek düğümlü kümeler (eski adıyla bağımsız örnekler) desteklenmez.
-
PolarDB-X 2.0
NotAna sürümü
5.4.13olan ve alt sürümü[16415631,16504348]aralığında bulunan PolarDB-X 2.0 örnekleri desteklenmez. PolarDB-X 2.0 örneğinizin sürümünü görüntülemek için bkz. Örnek sürümünü görüntüleme ve yükseltme. MongoDB
-
Hedef örnek DAS'a bağlıdır. Daha fazla bilgi için bkz. Örneği DAS'a bağlama.
Hedef örneğin erişim durumu Normal Access şeklindedir.
Sınırlamalar
X-Engine kullanan tablolar için SQL deyimlerini tanılayamaz veya iyileştiremezsiniz.
PolarDB-X içinde prepared statement kullanarak bir SQL deyimi çalıştırdığınızda, yavaş sorgu günlüğü deyimi şablonunu (örneğin,
select * from test where a = ? and b = ?) ve bağlı parametreleri (örneğin,params: [1, 2]) ayrı ayrı kaydeder. Bu biçim doğrudan geçerli bir SQL deyimi olarak çalıştırılamayacağından, analizi veya iyileştirmeyi özgün deyime dayandıran özelliklerin işlevselliği sınırlı olabilir.
Yavaş günlüklerden görsel SQL analizi oluşturma
Bu özellik, karmaşık SQL yürütme akışlarını sezgisel ve görsel bir biçimde sunar. Grafiksel arayüzü, sorgunun yürütme yolunu, düğüm verimliliğini ve olası darboğazları net bir şekilde göstererek SQL iyileştirme, kod incelemeleri ve sağlık kontrolleri sırasında sorunları hızlıca belirlemenize ve çözmenize yardımcı olur.
Yavaş Günlük Analizi sayfasındaki SQL iyileştirme yalnızca RDS for MySQL 5.6, 5.7 ve 8.0 ile PolarDB for MySQL 5.6, 5.7 ve 8.0 örnekleri için desteklenir.
DAS konsolu üzerinden oturum açın.
Sol gezinme bölmesinde öğelerini tıklayın.
Hedef örneği bulun ve örnek ayrıntıları sayfasını açmak için örnek kimliğine tıklayın.
Sol gezinme bölmesinde Request Analysis > Slow Logs seçeneğine tıklayın.
-
Slow Log Analysis sayfasında:
Slow Log Statistics sekmesinde hedef SQL şablonunu bulun ve Actions sütunundaki Optimize seçeneğine tıklayın.
Slow Log Details sekmesinde hedef SQL ifadesini bulun ve Actions sütunundaki Optimize seçeneğine tıklayın.
-
Görüntülenen iletişim kutusunda Create Plan seçeneğine tıklayın.
-
Bir yürütme düğümü türü seçin.
Standby node (Varsayılan): Geçerli örneğin beklemedeki düğümü. Bu düğüm genellikle rutin sorgu analizi için kullanılır.
Event node: SQL ifadesinin gerçekten çalıştırıldığı iş düğümü. Bu düğüm sorun giderme ve iyileştirme için uygundur.
-
Bir Visual Execution Plan oluşturmak için Confirm Creation seçeneğine tıklayın.
Görsel yürütme planı
Örnek Oturumları sayfasından SQL iyileştirme
Kendi yönetiminizdeki MySQL, MongoDB ve RDS for PostgreSQL örnekleri Instance Sessions sayfasında SQL iyileştirmeyi desteklemez.
DAS konsolu üzerinden oturum açın.
Sol gezinme bölmesinde öğelerini tıklayın.
Hedef örneği bulun ve örnek ayrıntıları sayfasını açmak için örnek kimliğine tıklayın.
Sol gezinme bölmesinde Instance Sessions seçeneğine tıklayın.
Instance Sessions alanında iyileştirmek istediğiniz oturumu seçin ve Optimize seçeneğine tıklayın.
-
Görüntülenen SQL Diagnostic Optimization iletişim kutusunda SQL tanılama sonuçlarını görüntüleyin.
Öneriyi kabul ederseniz sağ üst köşedeki Copy seçeneğine tıklayın ve iyileştirilmiş SQL'i veritabanı istemcinize veya DMS'ye yapıştırarak çalıştırın. Öneriyi kabul etmezseniz iletişim kutusunu kapatmak için Cancel seçeneğine tıklayın.
NotDAS, SQL ifadelerini karmaşıklıklarına, tablo veri hacmine ve veritabanı yüküne göre tanılar. Bir tanılama 20 saniyeden fazla sürebilir. Ardından motor, gözden geçirip uygulamanız için tanılama sonuçları, iyileştirme önerileri ve tahmini performans kazançları sağlar.
Tanılama tamamlandıktan sonra sayfa orijinal SQL ifadesini, yürütme planını (select_type, type ve rows gibi sütunlar dahil), tanılama sonuçlarını (satır deposu dizin önerileri için DDL ifadeleri ve dizin ayrıntıları dahil), iyileştirme faydalarını (örneğin, "Beklenen performans iyileştirmesi: %0,55x" ve "Düşük iyileştirme kazancı") ve ifade iyileştirme önerilerini görüntüler.
SQL tanılama geçmişini görüntüleme
DAS konsolu üzerinden oturum açın.
Sol gezinme bölmesinde öğelerini tıklayın.
Hedef örneği bulun ve örnek ayrıntıları sayfasını açmak için örnek kimliğine tıklayın.
Sol gezinme bölmesinde Request Diagnostic History seçeneğine tıklayın. Burada SQL içeriği, tanılama durumu, zaman ve sonuçlar gibi ayrıntıları içeren örneğin SQL tanılama geçmişini görüntüleyebilirsiniz.