Cum se scriu cereri de depășire a stivei sql optimizate în limba rusă

Buna ziua colegilor =). Aici am citit articole despre întrebări SQL de la experți (cu câțiva ani în urmă), dar la întâmplare nu am văzut nicio acționare cu acest articol. Aceasta se referă la optimizarea interogării.

Utilizarea "*" în interogare nu este recomandată, ceea ce reduce performanța executării interogării de către server.
a făcut o solicitare:

setat pe data de 10 Sep '12 la 15:15

Acesta este motivul pentru care asteriscul este mai clar pentru cititorul cererii decât indicarea explicită a coloanelor? Optimizarea în acest caz nu este deloc iluzorie. Din experiența personală - nu ezită niciodată să înlocuiesc asteriscul cu un domeniu arbitrar în subcheile. Acest lucru va permite compilatorului să nu fie distras de compilarea unei liste de coloane - renegator 11 Sep '12 la 5:10

Utilizarea unui asterisc într-o interogare nu este recomandată, nu datorită îmbunătățirilor de performanță, ci pentru că o utilizați într-o interogare pentru a risca să renunțe la unele dintre solicitările / procedurile dvs. atunci când schimbați tabelul.

Acesta va înceta să ruleze dacă adăugați o altă coloană în tabelul2.

În al doilea: nu văd nici un sens în utilizarea lipirii în stânga. Dacă combinați tabele care poartă același înțeles, atunci trebuie să faceți acest lucru prin unirea tuturor. Indiferent dacă este necesar, depinde de logica afacerii.

răspuns primit 10 septembrie '12 la 16:36

Și spune-mi, dar cu interogarea obișnuită, merită scris numele câmpului sau este mai simplu "*". În ceea ce privește cea de-a doua interogare, de exemplu: SELECT u. *, A. * FROM utilizatori ca u Tabelul LEFT JOIN este folosit numai în acest proiect ca ONU u.id = a.id - Node_pro Sep 10 '12 la 16:42

Dacă interogarea este scrisă pentru "a vedea ce este în tabel" și va fi șters ulterior, atunci este posibil. În toate celelalte cazuri, un ton bun este enumerarea coloanelor. - minamoto 10 Sep '12 la 16:45

Optimizarea preliminară este rău!

Scrieți după cum doriți și deja ca rezultat al testării aplicației, să vedeți ce și cât este efectuat. Păstrați un jurnal de apeluri către baza de date, ce fel de interogare, cât de multe se execută, câte înregistrări s-au întors.

În cazul interogărilor "grele", explicați EXPLAIN și adăugați indexurile necesare sau scrieți o interogare diferit. Totul vine cu experiență, învățați imediat cum să scrieți interogări "optimizate" nu va funcționa.

Articole similare