Вниз
Скачать: 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
1-48103
Link
2002-08-05 13:20
2002.08.15
Указатель в виде песочных часов


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


1-48115
Demon[DZ]
2002-08-05 15:16
2002.08.15
Привет Мастакам! У меня такая проблемка!


1-48136
Pichkarus
2002-08-01 02:09
2002.08.15
Как узнать номер последней записи в StringGrid’е?


1-48017
Nico1a
2002-07-31 22:59
2002.08.15
Hint




   Наверх