Для этого есть другое обходное решение, которое не упоминается ни в одном из других ответов (или на других ответах на вопросы):
Любой оператор, такой как x in (1,2,3)
, может быть переписан как (1,x) in ((1,1), (1,2), (1,3))
, а 1000 элементный лимит больше не будет применяться. Я протестировал с индексом на x
и объяснил, что план по-прежнему сообщает, что Oracle использует предикат доступа и сканирование диапазона.