Существует ли различие в производительности между МЕЖДУ и В с MySQL или в SQL в целом?

У меня есть ряд последовательных строк, я хочу стать основанным на их первичном ключе, который является целым числом автопостепенного увеличения. Предположение, что нет никаких дыр, является там любой производительностью между между:

SELECT * FROM `theTable` WHERE `id` IN (n, ... nk); 

и:

SELECT * FROM `theTable` WHERE `id` BETWEEN n AND nk;
16
задан pr1001 22 July 2010 в 11:24
поделиться

1 ответ

a между b и c - это макрос, который расширяется до b <= a и a <= c.

a в (b,c,d) - это макрос, который расширяется до a=b или a=c или a=d.

Если предположить, что ваши n и nk являются целыми числами, то оба они должны в итоге означать одно и то же. Вариант between должен быть намного быстрее, потому что это только два сравнения, по сравнению с nk - n сравнениями для варианта in.

13
ответ дан 30 November 2019 в 21:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: