Tüm Ürünler
Search
Belge Merkezi

Database Autonomy Service:Sorgu yönetimi

Son Güncelleme:Oct 06, 2026

Database Autonomy Service (DAS), her gün saat 01:00'de çalışarak önceki güne ait tüm örneklerinizdeki yavaş SQL sorgularını çevrimdışı veri analiziyle inceler ve otomatik olarak etiketler. DAS, yavaş SQL sorgularını otomatik olarak sınıflandırır, optimizasyon için önceliklendirir ve yönetim önerileri ile veri dışa aktarma imkanı sunar.

Ön koşullar

  • Veritabanı örneğiniz aşağıdakilerden biri olmalıdır:

    • ApsaraDB RDS for MySQL

    • PolarDB for MySQL

    • MyBase MySQL

    • ApsaraDB RDS for PostgreSQL

  • Bu özellik, Çin anakarası, Çin (Hong Kong) ve Singapur bölgelerindeki veritabanı örneklerini destekler.

    Not

    1 Nisan 2023 tarihinden itibaren sorgu yönetimi, Çin (Hong Kong) ve Singapur bölgelerindeki veritabanı örneklerini desteklemektedir.

  • İşletim ve Bakım hizmeti etkinleştirilmiştir.

Video eğitimi

Sınırlamalar

  • Sorgu yönetimi T+1 çevrimdışı analizini kullanır. Bir SQL sorgusunu Optimization Not Required olarak etiketlerseniz, Optimizable SQL sorgu sayısındaki değişiklik ertesi gün görünür hale gelir.

  • DAS tarafından önceden tanımlanmış SQL etiketleri devre dışı bırakılamaz.

  • Her veritabanı örneği için DAS, yürütme sayısına göre en yüksek 200 yavaş SQL sorgusunu analiz eder. Bu nedenle, her örnek için maksimum Slow SQL Templates sayısı 200'dür.

Temel kavramlar


Terim


Açıklama


Optimizable SQL


Tüm yavaş SQL deyimlerinden SQL statements that do not require optimization hariç tutulduktan sonra kalan deyimler Optimizable SQL olarak kabul edilir.


SQL Not Requiring Optimization


DAS tarafından otomatik olarak Ignored olarak etiketlenen ve kullanıcılar tarafından manuel olarak Optimization Not Required olarak etiketlenen SQL sorgularını içerir.


Ignored


DAS, show, create, xa, commit, rollback, select sleep veya explain ile başlayanlar gibi SQL deyimlerini otomatik olarak Optimization Not Required olarak etiketler.

Yordam

  1. DAS konsolu üzerinden oturum açın.

  2. Sol gezinme bölmesinde Intelligent O&M Center > Query Governance seçeneğini belirleyin.

  3. Query Governance sayfasında sorgu yönetimi sonuçlarını görüntüleyin.

    Belirli bir örneğin sonuçlarını görmek için zaman aralığına, bölgeye ve motora göre filtreleme yapabilir veya bir örnek ID'si girebilirsiniz.

    • Query Governance Overview: Sistem SQL şablonlarını etiketleyip sınıflandırdıktan sonraki sonuçları görüntüleyin.

      Not

      DAS, yalnızca DAS Enterprise Edition etkinleştirilmiş olan örneklerdeki Failed SQL Executions sayısını hesaplar.

    • Query Governance Trend: Seçilen zaman aralığında sorgu yönetimi sonuçlarının eğilimini görüntüleyin.

    • Top Rankings: Best-performing Instances ve Worst-performing Instances listelerini görüntüleyin.

      • Worst-performing Instances: En sorunlu örnekleri belirlemek için örnekleri yavaş sorgu yürütme sayısına göre azalan sırada sıralar.

      • Best-performing Instances: Örnekleri yavaş sorgu yürütme sayısındaki değişime göre artan sırada sıralar. Negatif bir değer daha az yavaş sorgu yürütmesi (iyi optimizasyon) anlamına gelirken, pozitif bir değer daha fazlasını ifade eder.

      DAS, Optimizable SQL sıralamalarına odaklanmanızı önerir.

    • SQL to Be Optimized: Yönetim gerektiren SQL deyimlerini belirlemek için filtreler ayarlayın.

      Not

      Bu filtreler VE mantığıyla birleştirilir.

      • Birden fazla veritabanı adını virgül (,) ile ayırarak VEYA mantığıyla birleştirin.

      • Birden fazla SQL anahtar kelimesini boşlukla ayırarak VE mantığıyla birleştirin.

      • Birden fazla veritabanı kullanıcı adını virgül (,) ile ayırarak VEYA mantığıyla birleştirin.

      • Birden fazla kural etiketi seçmek, bunları VEYA mantığıyla birleştirir.

      • Hedef SQL örneğinin Actions sütununda, ayrıntılı yönetim önerilerini görüntülemek için Suggestions öğesine tıklayın.

      • Hedef SQL örneğinin Actions sütununda, SQL deyimine manuel olarak etiket eklemek için Add Tag öğesine tıklayın. Etiketler hakkında daha fazla bilgi için bkz. Manuel Etiketleme.

        Ayrıca birden fazla SQL deyimini aynı anda seçip etiketleyebilirsiniz.

      • Hedef SQL örneğinin Actions sütununda, SQL deyimi için yavaş sorgu günlük örneğinin ayrıntılarını görüntülemek üzere Samples seçeneğine tıklayın.

      • Hedef SQL örneğinin Actions sütununda, SQL deyimi için yavaş sorgu günlük analizi ayrıntılarını görüntülemek amacıyla Trend seçeneğine tıklayın. Yavaş sorgu günlük analizi hakkında daha fazla bilgi için bkz. Yavaş sorgu günlükleri.

      Gerektiğinde optimize edilebilir SQL deyimi verilerini dışa aktarın ve paylaşın. Daha fazla bilgi için bkz. en iyi uygulamalar.

    • Failed SQL: Görüntülemek istediğiniz SQL deyimlerini belirlemek için filtreler ayarlayın.

      Not
      • DAS, yalnızca DAS Enterprise Edition etkinleştirilmiş örneklerdeki Failed SQL sayısını hesaplar.

      • Veritabanı adına ve SQL anahtar kelimesine göre filtreleme yapabilirsiniz. Bu iki filtre VE mantığı kullanılarak birleştirilir.

        • Birden fazla veritabanı adı virgül (,) ile ayrılır ve VEYA mantığı kullanılarak birleştirilir.

        • Birden fazla SQL anahtar kelimesi boşlukla ayrılır ve VE mantığı kullanılarak birleştirilir.

      Hedef SQL örneğinin Actions sütununda, SQL deyimi için örnek ayrıntılarını görüntülemek üzere Samples seçeneğine tıklayın.

En iyi uygulamalar

  • SQL sorgularının optimize edilip edilmeyeceğini belirlemek için etiketleri kullanın:

    Yönetim, deyimleri Overall Slow SQL listesinden iki kategoriye ayırır: Optimization Not Required ve Optimizable SQL. Bu deyimleri filtrelemek ve önceliklendirmek için aşağıdaki SQL etiketlerini kullanın.

    ID

    Etiket adı

    Düzey

    Öneri

    Açıklama

    NEW_SQL

    Yeni yavaş SQL

    Kritik

    ✔️

    Son yedi gün içinde görünmemiş bir yavaş SQL sorgusu.

    DAS_IGNORE

    DAS tarafından yoksayıldı

    Bildirim

    ➖

    DAS, sorguyu optimizasyon gerektirmiyor olarak otomatik şekilde etiketler. Örnekler arasında show, create, xa, commit, rollback, select sleep veya explain ile başlayan SQL deyimleri yer alır.

    FUZZY_LIKE

    Bulanık LIKE sorgusu

    Bildirim

    ➖

    Bir like yan tümcesi bulanık eşleşme için kullanılır; bu durum dizin kullanımını engeller.

    HAS_EXPR

    İfade içeriyor

    Bildirim

    ➖

    Sorgu bir ifade içerir. Hesaplamada yer alan sütun bir dizin kullanamaz.

    LARGE_IN_LIST

    Büyük IN listesi

    Bildirim

    ➖

    IN yan tümcesi 200'den fazla öğe içerir; bu durum büyük olasılıkla bir program tarafından oluşturulur. İlgili sütunlarda dizinler kullanılamaz.

    SELECT_STAR

    Tam sütun SELECT

    Bildirim

    ➖

    SELECT kullanırken, gereksiz sütunların döndürülmesinden kaynaklanan performans sorunlarını ve kaynak israfını önlemek için yalnızca gerekli alanları belirtin.

    INDEX_ADVISOR

    Dizin önerisi

    Bildirim

    ✔️

    SQL yürütmeyi hızlandırmak için bir dizin oluşturma önerisi.

    COMPLEX_JOIN

    Karmaşık JOIN

    Bildirim

    ➖

    Üçten fazla tabloyu join etmeyin. join ettiğiniz alanlar aynı veri türlerine sahip olmalıdır. Çok tablolu birleştirmeler için birleştirme alanlarının dizinlendiğinden emin olun.

    CROSS_DB

    Çapraz veritabanı sorgusu

    Bildirim

    ➖

    Veritabanlarını ve tablolarını örnekler arasında geçirdiğinizde çapraz veritabanı sorguları kullanılamayabilir.

    SUBQUERY

    Alt sorgu içeriyor

    Bildirim

    ➖

    Sorgu bir alt sorgu içerir. Daha iyi performans için bunu bir JOIN ile yeniden yazmayı düşünün.

    DEEP_PAGING

    Derin sayfalama

    Kritik

    ➖

    Sorgu, derin sayfalama için bir LIMIT yan tümcesi kullanır. Sorguyu bir birleştirme ile yeniden yazmanızı öneririz.

    WITHOUT_PREDICATE

    Koşul yok

    Kritik

    ✔️

    Deyim hiçbir koşul içermiyor. Tam tablo taraması içerip içermediğini kontrol edin.

    NULL_COMPARE

    NULL eşleşme hatası

    Kritik

    ➖

    Bir değerin NULL ile doğrudan karşılaştırılması her zaman NULL sonucu verdiği için, bir NULL değerini kontrol etmek amacıyla IS NULL veya IS NOT NULL kullanın.

    COUNT_NOT_STAR

    Uygun olmayan COUNT sözdizimi

    Kritik

    ➖

    count(sütun_adı) veya count(sabıt) yerine COUNT() kullanın. count(), SQL92 tarafından tanımlanan satır sayma standardı sözdizimidir. Veritabanından bağımsızdır ve NULL veya non-NULL değerlerinden etkilenmez. count(sütun_adı), sütunun NULL değerine sahip olduğu satırları saymaz.

    LARGE_ROWS_EXAMINED

    Aşırı satır tarandı

    Bildirim

    ➖

    Sorgu ortalama olarak 50.000'den fazla satır tarar. Aşırı tarama daha fazla kaynak tüketir; bu durum sorguyu yavaşlatır ve genel veritabanı performansını etkileyebilir.

    Not

    Daha seçici filtre koşulları kullanmayı düşünün.

    LARGE_ROWS_SENT

    Aşırı satır döndürüldü

    Bildirim

    ➖

    Sorgu ortalama olarak 5.000'den fazla satır döndürür. Döndürülen satır sayısını azaltmayı düşünün.

    NO_ADVICE

    Öneri yok

    Bildirim

    ➖

    Analiz önerisi mevcut değil.

    PERIOD_SQL

    Periyodik SQL

    Bildirim

    ➖

    Her gün sabit bir zamanda yürütülür.

    Optimizable SQL üzerine odaklanın. Optimizable SQL deyimi sayısını azaltmak için SQL deyimlerini Optimization Not Required olarak işaretlemek amacıyla aşağıdaki etiketleri kullanın. Aşağıdaki etiketler manuel etiketlemeyi destekler.


    ID


    Etiket adı


    Düzey


    Açıklama


    USER_IGNORE


    Optimize etmeye gerek yok


    Bildirim


    Bu etiketi ekledikten sonra DAS, sorguyu ertesi günkü Optimize Edilebilir SQL istatistiklerinden hariç tutar.


    DAS_IMPORTANT


    Önemli SQL


    Bildirim


    SQL sorgusunu önemli olarak işaretler.


    DAS_NOT_IMPORTANT


    Önemli olmayan SQL


    Bildirim


    SQL sorgusunu önemli olmayan olarak işaretler.


    DAS_IN_PLAN


    Optimizasyon planlandı


    Bildirim


    SQL sorgusunu optimizasyon için zamanlanmış olarak işaretler.

  • Verileri dışa aktarın:

    • SQL Details sekmesinde şu anda görüntülenen tüm verileri indirmek için Create Export Task seçeneğine tıklayabilirsiniz.

      Not

      Dışa aktarılan veriler üç gün boyunca indirilebilir durumdadır.

    • Farklı filtre koşulları (örneğin örnekler veya kurallar) ile indirme görevleri oluşturun ve bunları optimizasyon için farklı sahiplere atayın.

    • Alternatif olarak, yalnızca bu öğeleri dışa aktarmak için birden fazla SQL kaydını seçin.

  • Verileri paylaşın:

    Filtrelenmiş yavaş SQL sorgularını ekip üyelerinizle iki şekilde paylaşabilirsiniz:

    • Birden fazla SQL kaydını seçip Batch Sharing seçeneğine tıklayabilirsiniz. Sistem kısa bir bağlantı oluşturur. DAS konsoluna erişim izni olan kullanıcılar bağlantıya tıkladığında yalnızca sizin seçtiğiniz SQL kayıtlarını görür.

    • Alternatif olarak, tüm filtreleri de dahil olmak üzere geçerli görünümünüzü yakalayan bir URL oluşturmak için Export öğesinin yanındaki Share seçeneğine tıklayın. DAS konsolu izinlerine sahip kullanıcılar, filtreleri yeniden yapılandırmadan aynı verileri görmek için URL'yi açabilir.

API referansı


API


Açıklama


CreateQueryOptimizeTag


Hedef SQL sorgusuna bir etiket ekler.


GetQueryOptimizeExecErrorStats


Başarısız SQL yürütmeleri için şablon verilerini alır.


GetQueryOptimizeExecErrorSample


Başarısız SQL yürütmeleri için örnek verilerini alır.


GetQueryOptimizeSolution


Bir sorgu için yönetim önerilerini alır.


GetQueryOptimizeRuleList


Sorgu yönetimi için kuralların listesini alır.


GetQueryOptimizeDataTrend


Sorgu yönetimi için eğilim verilerini alır.


GetQueryOptimizeDataTop


En iyi ve en kötü performans gösteren örnekler listeleri için verileri alır.


GetQueryOptimizeDataStats


Sorgu yönetimi için şablon verilerini alır.


GetQueryOptimizeTag


Belirtilen bir SQL sorgusunun etiketlerini alır.


GetQueryOptimizeShareUrl


Sorgu yönetimi sonuçları için paylaştırılabilir URL'yi alır.