Reglare SQL sau optimizare SQL

Cuprins

Unele interogări consumă mai multe resurse decât altele. De exemplu, interogările care returnează seturi de rezultate mari și cele care conțin clauze WHERE care nu sunt unice sunt întotdeauna consumatoare de resurse. Nici un grad de inteligență al bazelor de date sql nu face o treabă bună de optimizare a interogărilor și nici nu pot elimina costul resurselor acestor constructe în comparație cu o interogare mai puțin complexă.
Putem obține aceleași rezultate scriind interogări SQL diferite. Dar utilizarea celei mai bune interogări este importantă atunci când se ia în considerare performanța. Reglarea SQL este procesul de asigurare a faptului că instrucțiunile SQL generate de o aplicație vor fi executate în cel mai scurt timp posibil. Aceste interogări SQL pot fi optimizate pentru o performanță mai bună.
Tehnici de optimizare sau reglare SQL
În continuare vom vedea câteva tehnici de optimizare
CAZUL 1: Interogarea SQL devine mai rapidă dacă utilizați numele câmpurilor decât * ca interogare a tuturor câmpurilor din tabel
SELECT * DE LA clienți

Este mai optim să scrieți interogarea în acest fel
SELECT ID, nume, adresă DE la clienți

CAZUL 2: Clauza HAVING este utilizată pentru a filtra rândurile după ce toate rândurile au fost selectate.
 SELECȚIONEAZĂ subiectul, numărați (studenții) număr_studenți DE LA înscriși WHERE subiect = 'Chimie' ȘI subiect = 'Istorie' GRUPĂ PE SUBIECT;

Este mai optim să scrieți interogarea în acest fel
 SELECTmateria, numărați (studenți) number_alumnos DIN ÎNREGISTRATI GRUP PE SUBIECTE AVÂND subiect = 'Chimie' ȘI subiect = 'Istorie'

CAZUL 3: Uneori este posibil să avem mai multe subinterogări în interogarea principală. Să vedem în exemplul următor cum să minimizați blocul de subinterogare din interogarea dvs.
Consultăm cel mai vechi și cel mai bine plătit angajat.
 SELECTAți numele DE LA angajați UNDE salariu = (SELECȚIAȚI MAX (salariul) DE LA angajați) ȘI vârsta = (SELECAȚI MAX (vârsta) DE LA angajați) ȘI categoria = 'Electronică';

Este mai optim să scrieți interogarea în felul următor
 SELECTAți numele DE LA angajați UNDE (salariu, vârstă) = (SELECȚIAȚI MAX (salariu), MAX (vârstă) DE LA angajați) ȘI item = „Electronică”;

CAZUL 4: Folosind operatorul EXISTS, IN și tabelul se alătură în mod corespunzător în interogarea dvs. este important, deoarece acestea sunt tranzacții care încetinesc accesul la date.
În general, cea mai lentă performanță în interogarea Canda.
IN este eficient atunci când majoritatea criteriilor de filtrare se află în subinterogare.
Exist este eficient atunci când majoritatea criteriilor de filtrare se află în interogarea principală.
Să vedem câteva exemple
 Selectați * din produsul p unde product_id IN (selectați product_id din comenzi)

Este mai optim să o scrieți după cum urmează
 Selectați * din produsul unde EXISTĂ (selectați * din comenzi în care comenzi.product_id = product.product_id)

Utilizare exista in loc de DISTINCT
Exemplu vedeți ce categorii au cărți disponibile
 SELECT DISTINCT categories.id, categories.categories DIN categorii, cărți WHERE categories.id = books.idcategory;

Este mai optim să scrieți interogarea după cum urmează
 SELECT DISTINCT categories.id, categories.categories DIN categorii WHERE EXISTS (SELECȚIONEAZĂ „X” DIN cărți WHERE books.idcategory = categories.id);

Acestea sunt câteva sfaturi care vor economisi resurse la executarea interogărilor SQL și, astfel, au și o aplicație cu răspunsuri mai rapide.V-a plăcut și ați ajutat acest tutorial?Puteți recompensa autorul apăsând acest buton pentru a-i oferi un punct pozitiv

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave