Вниз
Скачать: 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
4-48360
Makss
2002-06-09 15:48
2002.08.15
окно


3-47957
grandad
2002-07-26 10:31
2002.08.15
Нужно поставить прогу, работающую с БД accesss (mdb) от MS Office


8-48213
Javlon
2002-04-11 11:53
2002.08.15
OpenGl Создание обекта


4-48352
hooky-mars
2002-05-29 18:34
2002.08.15
Компоненты чужого окна


1-48202
zor
2002-08-03 00:04
2002.08.15
Чтение файлов в директории




   Наверх