Вниз
Скачать: 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.014 c
6-48221
Blacgrin
2002-05-17 20:22
2002.08.15
Подсчёт и ограничение трафика


8-48214
Fast
2002-04-11 12:58
2002.08.15
Палитра цетов


8-48216
Andrew_Class
2002-04-12 13:53
2002.08.15
Отрисовка больших схем


1-48020
pentium
2002-08-03 09:48
2002.08.15
Проблема с иконкой и файлом ресурсов !!!


3-47962
KIR
2002-07-25 13:48
2002.08.15
Что за ошибка Key Violation в БД Paradox




   Наверх