Оптимизация запросов MySQL: IN () vs OR

Я читал, что у MySQL есть проблема с запросами, которые используют оператор IN () - иногда нельзя использовать индексы. Так ли это на самом деле, если я не использую подзапрос?

Какой подход лучше? Есть ли разница в производительности?

1

SELECT *
FORM `somewhere`
WHERE 
  `id` = 3
   OR `id` = 5
   OR `id` = 15
   OR `id` = 56
   OR `id` = 34
   OR `id` = 47

2

SELECT *
FORM `somewhere`
WHERE 
  `id` IN (3,5,15,56,34,47)
7
задан Silver Light 26 November 2010 в 15:11
поделиться