Nói chung, nếu IN
danh sách quá lớn (đối với một số giá trị không được xác định là 'quá lớn' thường nằm trong vùng 100 hoặc nhỏ hơn), sẽ hiệu quả hơn khi sử dụng phép nối, tạo một bảng tạm thời nếu cần để chứa các số.
Nếu các con số là một tập hợp dày đặc (không có khoảng trống - mà dữ liệu mẫu gợi ý), thì bạn có thể làm tốt hơn nữa với WHERE id BETWEEN 300 AND 3000
.
Tuy nhiên, có lẽ là có khoảng trống trong tập hợp, tại thời điểm đó, tốt hơn là nên đi cùng với danh sách các giá trị hợp lệ sau cùng (trừ khi khoảng trống là tương đối ít về số lượng, trong trường hợp đó bạn có thể sử dụng:
WHERE id BETWEEN 300 AND 3000 AND id NOT BETWEEN 742 AND 836
Hoặc bất kỳ khoảng trống nào.