SQL Ayarlama veya SQL optimizasyonu

İçindekiler

Bazı sorgular diğerlerinden daha fazla kaynak tüketir. Örneğin, büyük sonuç kümeleri döndüren sorgular ve benzersiz olmayan WHERE yan tümceleri içeren sorgular her zaman kaynak yoğundur. Sql veritabanlarının hiçbir zeka derecesi, sorguları optimize etmede iyi bir iş çıkarmaz ve daha az karmaşık bir sorguya kıyasla bu yapıların kaynak maliyetini ortadan kaldıramaz.
Farklı SQL sorguları yazarak aynı sonuçları alabiliriz. Ancak performans göz önüne alındığında en iyi sorguyu kullanmak önemlidir. SQL Tuning, bir uygulamanın ürettiği SQL ifadelerinin mümkün olan en kısa sürede yürütülmesini sağlama işlemidir.Bu SQL sorguları daha iyi performans için optimize edilebilir.
Optimizasyon teknikleri veya SQL Tuning
Sonra bazı optimizasyon tekniklerini göreceğiz
DAVA 1: Tablonun tüm alanlarının sorgusu olarak * yerine alanların adlarını kullanırsanız SQL sorgusu daha hızlı olur
Müşterilerden * SEÇİN

Sorguyu bu şekilde yazmak daha uygundur.
İstemcilerden kimlik, ad, adres SEÇİN

DURUM 2: HAVING Cümlesi, tüm satırlar seçildikten sonra satırları filtrelemek için kullanılır.
 Konu SEÇİN, (öğrenci) sayı_öğrencilerin kayıtlı olduğu YERDEN konu = 'Kimya' VE konu = 'Tarih' GRUP BY konuya;

Sorguyu bu şekilde yazmak daha uygun
 SELECTmateria, sayı (öğrenci) number_alumnos KAYITLI GRUPTAN konuya GÖRE HAVING konu = 'Kimya' VE konu = 'Geçmiş'

DURUM 3: Bazen ana sorguda birden fazla alt sorgumuz olabilir. Aşağıdaki örnekte sorgunuzdaki alt sorgu bloğunu nasıl minimize edeceğinizi görelim.
En yaşlı ve en yüksek ücretli çalışana danışıyoruz.
 NEREDE çalışanlardan isim SEÇİN maaş = (çalışanlardan MAKS (maaş) SEÇ) VE yaş = (çalışanlardan MAKS (yaş) SEÇ) VE kategori = 'Elektronik';

Sorguyu aşağıdaki şekilde yazmak daha uygundur
 NEREDE çalışanlardan isim SEÇİN (maaş, yaş) = (MAKS (maaş), MAKS (çalışanlardan yaş) SEÇİN) VE madde = 'Elektronik';

DURUM 4: EXISTS, IN operatörünü ve tablo birleştirmelerini sorgunuzda uygun şekilde kullanmak, verilere erişimi yavaşlatan işlemler olduğundan önemlidir.
Canda sorgusunda genellikle en yavaş performans.
IN, filtre kriterlerinin çoğu alt sorguda olduğunda etkilidir.
Var, filtre ölçütlerinin çoğu ana sorguda olduğunda etkilidir.
Hadi bazı örneklere bakalım
 p ürününden * seçin, burada product_id IN (siparişlerden product_id seçin)

Aşağıdaki gibi yazmak daha uygundur
 MEVCUT olan üründen * seçin (order.product_id = product.product_id olan siparişlerden * seçin)

Kullanmak var olmak onun yerine BELİRGİN
Örnek, hangi kategorilerde kitapların mevcut olduğunu görün
 SEÇİN AYRI kategoriler.id, kategoriler.kategoriler FROM kategoriler, kitaplar WHERE Category.id = kitaplar.idcategory;

Sorguyu aşağıdaki gibi yazmak daha uygundur.
 MEVCUT YERDEKİ KATEGORİLERDEN AYRIK kategoriler.id, kategoriler.kategorileri SEÇİN ( WHERE kitaplarından 'X' SEÇİN book.idcategory = kategoriler.id);

Bunlar, sql sorguları yürütürken kaynak tasarrufu sağlayacak ve böylece daha hızlı yanıt veren bir uygulamaya sahip olacak bazı ipuçları.Bu Eğitimi beğendiniz ve yardım ettiniz mi?Yazara olumlu puan vermek için bu düğmeye basarak yazarı ödüllendirebilirsiniz.

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave