ApsaraDB for SelectDB Nereids optimize edici ve Pipeline yürütme motorunu kullanarak sorguları otomatik olarak optimize eder. Yüksek performanslı sorgu gereksinimlerinizi karşılamak için sorguları manuel olarak da optimize edebilirsiniz. Örneğin, dizin tabanlı hızlandırma, yüksek eşzamanlı nokta sorguları, materyalleştirilmiş görünümler ve birleştirme optimizasyonundan yararlanabilirsiniz.
Otomatik sorgu optimizasyon planlaması
SelectDB içinde Nereids optimize edici ve Pipeline yürütme motoru, sorgu optimizasyonu ve yürütme aşamalarında derinlemesine optimizasyon sağlayan temel sorgu işleme teknolojileridir. Bu teknolojiler karmaşık sorgu performansını ve kaynak kullanımını önemli ölçüde iyileştirir. Aşağıdaki şekil, bu teknolojilerin SelectDB içinde bir SQL ifadesini nasıl optimize ettiğini göstermektedir.
Aşağıdaki tabloda her bir teknolojinin temel özellikleri açıklanmaktadır. Daha fazla bilgi için ilgili belgelere bakın.
|
Teknoloji |
Özellik açıklaması |
|
|
|
Manuel sorgu optimizasyonu
SelectDB Nereids optimize edicisi ve Pipeline yürütme motoru sorgu gereksinimlerinizi karşılamazsa istatistikleri kullanarak sorgu verilerini analiz edebilir ve sorguları optimize etmek için uygun bir ilke seçebilirsiniz.
|
Optimizasyon ilkesi |
Senaryo |
Sınır |
|
Yüksek eşzamanlı nokta sorgularını optimize etmek istersiniz. Not
Nokta sorgusu, belirli koşulları sağlayan az miktarda veriyi bir veritabanından getirmeyi ifade eder. Çoğu durumda bu getirme işlemi birincil anahtarlar veya yüksek kardinaliteli sütunlar kullanılarak gerçekleştirilir. |
|
|
|
Tekrarlayan ve zaman alan karmaşık sorguları optimize etmek istersiniz. |
Daha fazla bilgi için bkz. Eşzamanlı materyalleştirilmiş görünüm. |
|
|
Herhangi bir senaryoda verileri hızlıca sorgulamak veya konumlandırmak istersiniz. |
Sınırlar dizin türüne göre değişir. Daha fazla bilgi için bkz. Dizin tabanlı hızlandırma. |
|
|
Birleştirme sorgularını optimize etmek istersiniz. |
Birleştirme koşulu sol tablonun dağıtılmış sütununu içermeli ve sol tablo yürütme sırasında yalnızca tek bir bölümden gelen verileri kullanmalıdır. |
|
|
Birleştirme sorgularını optimize etmek istersiniz. |
Birleştirme koşulu sol tablonun dağıtılmış sütununu içermeli ve sol ile sağ tablolar aynı Colocate Group'a ait olmalıdır. |
|
|
Büyük bir tablonun küçük bir tabloyla birleştirme işleminin optimize edilmesi gereken senaryolar. |
Runtime filter kullanırken JOIN ifadesi aşağıdaki gereksinimleri karşılamalıdır:
|
|
|
|
|
|
|