![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
SELECT TOP 25 [D6, MSSQL]
pum5a © (2002-07-27 16:52:00)Есть таблица 100"000 записей, которая стоит на сервере через MIDAS раздается клиентам. В общем нужно сделать такой запрос, который бы выбирал диапозон с ... по ... запись. Вот как я делаю для того чтоб выбрать записи с 40 по 65:
SELECT TOP 25...
FROM ...
WHERE ... AND id NOT IN
(SELECT TOP 40id FROM ... WHERE ... ORDER BY ...)
ORDER BY ...
Помогите, пожалуйтса, запрос обрабатывается чересчур долго
Delirium (2002-07-28 14:32:00) [1]Достаточно, сделать следущее, по моему примеру - проиндексировать поле MyField.
DAO (2002-07-27 21:15:00) [2]Попробуй сделать индексы на часто используемые поля, а на самое часто используемое поставь класстерный инекс! Он правдо только один бывает и если у тебя там уже есть id то по пробуй переиндексацию его сделать (долгий, нудный процесс)!
pum5a (2002-07-27 20:40:00) [3]Разницы никакой, все равно если делать ORDER BY в 100"000 записях ждать придется очень-оченьдолго.
Delirium (2002-07-27 17:08:00) [4]С 40-й по 65-ю (25 это 65-40)
select top 25 *
from (select top 65 *
from MyTable order by MyField asc) tmp
order by MyField desc