sql >> Databáze >  >> RDS >> Mysql

VĚK [1, 2, 3] vs. VĚK MEZI 1 A 3

Oba dotazy budou používat index.

Dotaz A bude přeložen do:

select * from person where age = 1 or age = 2 or age 3;

Dotaz B se přeloží do

select * from person where age >= 1 and age <= 3;

Dotaz A tedy provede 3 testy pomocí OR.
Dotaz B provede 2 testy pomocí AND.

Dotaz B je rychlejší.

Obecně platí, že dotazy používající AND jsou rychlejší než dotazy pomocí OR .
Dotaz B také provádí méně testů a protože testuje rozsah, může snadněji vyloučit výsledky, které nechce.



  1. Zkopírujte položky z treeview tkinter

  2. Jak zkontrolovat, zda existuje uložená procedura?

  3. PDO více dotazů

  4. Proč se _ (podtržítko) shoduje s (pomlčkou)?