Slinkums jeb predikātu neizpilde

21 janvāris, 2010

Šoreiz nebūs runa par cilvēcisko slinkumu, bet par datubāžu slinkumu. Parasti viens no galvenajiem mērķiem datubāzes darbībā ir, lai tā visus SQL teikumus apstrādātu pēc iespējas ātrāk. Tiecoties pēc šī mērķa, tiek veikti daudzi un dažādi uzlabojumi, tai skaitā arī daži vienkāršākie un vēsturiski senākie – datubāzes beidz SQL teikuma kritēriju (predikātu) pārbaudi tiklīdz rezultāts ir skaidrs atlikušos nemaz nerēķinot.
Paši vienkāršākie piemēri ir šādi:

  • ja vairāki predikāti ir apvienoti ar loģisko UN (AND), tad tiklīdz neizpildās (ir aplams) viens no tiem, nākošo vērtības vairs nav svarīgas, jo viss izteikums ir aplams;
  • ja vairāki predikāti ir apvienoti ar loģisko VAI (OR), tad tiklīdz izpildās kaut viens no tiem (ir patiess), nākošo vērtības vairs nav svarīgas, jo viss izteikums ir patiess. Lasīt pārējo šī ieraksta daļu »