Вниз
Скачать: CL | DM;

SELECT TOP 25   Найти похожие ветки 

 
pum5a ©   (2002-07-27 16:52) [0]

Есть таблица 100"000 записей, которая стоит на сервере через MIDAS раздается клиентам. В общем нужно сделать такой запрос, который бы выбирал диапозон с ... по ... запись. Вот как я делаю для того чтоб выбрать записи с 40 по 65:

SELECT TOP 25 ...
FROM ...
WHERE ... AND id NOT IN
(SELECT TOP 40 id FROM ... WHERE ... ORDER BY ...)
ORDER BY ...

Помогите, пожалуйтса, запрос обрабатывается чересчур долго


 
Delirium ©   (2002-07-27 17:08) [1]

С 40-й по 65-ю (25 это 65-40)
select top 25 *
from (select top 65 *
from MyTable order by MyField asc) tmp
order by MyField desc


 
pum5a ©   (2002-07-27 20:40) [2]

Разницы никакой, все равно если делать ORDER BY в 100"000 записях ждать придется очень-очень долго.


 
DAO ©   (2002-07-27 21:15) [3]

Попробуй сделать индексы на часто используемые поля, а на самое часто используемое поставь класстерный инекс! Он правдо только один бывает и если у тебя там уже есть id то по пробуй переиндексацию его сделать (долгий, нудный процесс)!


 
Delirium ©   (2002-07-28 14:32) [4]

Достаточно, сделать следущее, по моему примеру - проиндексировать поле MyField.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.01 c
3-47925
Afreet
2002-07-25 07:29
2002.08.15
Кто нить делал такое?


1-48197
Alex_31072002
2002-07-31 22:06
2002.08.15
Ресурсы и Runtime packages


4-48357
Geser
2002-06-10 09:20
2002.08.15
Skinable Apllication


14-48254
kmc
2002-07-19 18:41
2002.08.15
Визуальное построение выражений


3-48005
cooluse
2002-07-27 23:11
2002.08.15
Помогите чайнику с БД разобраться!




   Наверх