Mysql
 sql >> Datenbank >  >> RDS >> Mysql

ALTER [1, 2, 3] vs. ALTER ZWISCHEN 1 UND 3

Beide Abfragen verwenden einen Index.

Abfrage A wird übersetzt in:

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

Abfrage B wird übersetzt in

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

Abfrage A führt also 3 Tests mit ODER durch.
Abfrage B führt 2 Tests mit UND durch.

Abfrage B ist schneller.

Im Allgemeinen Abfragen mit AND sind schneller als Abfragen mit OR .
Auch Abfrage B führt weniger Tests durch und da sie einen Bereich testet, kann sie leichter unerwünschte Ergebnisse ausschließen.