Най-общо казано, ако IN
списъкът става твърде голям (за някаква недобре дефинирана стойност на „твърде голям“, която обикновено е в района на 100 или по-малка), става по-ефективно да се използва присъединяване, създавайки временна таблица, ако е необходимо, за да задържи числата.
Ако числата са плътен набор (без празнини - което предполагат примерните данни), тогава можете да направите още по-добре с WHERE id BETWEEN 300 AND 3000
.
Въпреки това, вероятно има пропуски в набора, в който момент може да е по-добре да продължите със списъка с валидни стойности (освен ако пропуските са сравнително малко на брой, в който случай бихте могли да използвате:
WHERE id BETWEEN 300 AND 3000 AND id NOT BETWEEN 742 AND 836
Или каквито и да са пропуските.