Игорь Горбонос wrote:
SELECT a FROM NEW_TABLE nt
WHERE nt.a
IN
(
SELECT Min(nt.a)
И зачем тут IN? Чем равенство не устраивает?
FROM NEW_TABLE nt
WHERE nt.a IN
(2590757,2585395,2581973,2587496,2588517,2590089,2591285,2591989,2589558,2591954,2591660,
> ...
2580065,2593941,2593982,2593993,2593996,2587464,2567951,2583486,2585719,2585656,2586473)
)
Пипец, а не запрос.
------ Performance info ------
Prepare time = 31ms
Execute time = 17s 594ms
Fetches from cache = 2 700 037
Версия сервера какая? Статистика по индексу?
Не индексированных чтений 5000.
Пофиг.
При увеличении данных до 10000 записей время выполнения этого-же запроса
возрастает и статистика выглядит так:
------ Performance info ------
Prepare time = 31ms
Execute time = 52s 281ms
Fetches from cache = 5 410 067
Есс-но.
Мне кажеться что при выполнении запроса сначала разворачиваеться in, а
потом выполняеться подзапрос, может правильнее было-бы выполнить
подзапрос, а потом результаты развернуть в in ?
Для каждой записи внешнего запроса выполняется подзапрос.
--
Дмитрий Еманов