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

Помогите, пожалуйста, укорить работу.   Найти похожие ветки 

← →
Oleon   (2002-06-24 11:39) [0]

Есть у меня процедура.

for select ID, SERIAL, NUMBER, OPERDATE
from blankprihodlist bp
where OPERDATE <= :ADate
and (RashodDate > :ADate or RAshodDate is NULL)
and OPERDATE = (select max(OPERDATE)
from blankprihodlist
where serial = bp.SERIAL
and NUMBER = bp.NUMBER)
order by Serial, Number
into :ID_,:Serial, :Number, :THEDATE do
Begin
suspend;
End

Какие мне индексы нужно создать, чтобы быстрее работало? А то у меня 50000 записей и результата я дождаться не могу.


← →
AlexGreg ©   (2002-06-24 12:29) [1]

Привет Oleon.

Индексы создавай для полей, на которые накладывается условия WHERE.
Причём, если поля из одной таблицы и в WHERE встречаются через AND, то один индекс на оба поля. Если через OR, то лучше по инднксу на каждое поле

Удачи :0)


← →
Desdechado ©   (2002-06-25 10:59) [2]

и при использовании подзапроса скорость заметно падает. подумай, может, как-то можно заменить его на объединение таблиц.



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

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



Память: 0.45 MB
Время: 0.009 c
7-58343
Gu
2002-04-25 10:18
2002.07.18
OutLook


4-58368
nester
2002-05-20 07:22
2002.07.18
Существует ли МИКРОСЕКУНДНЫЙ таймер или sleep()?


1-58146
^Sanya
2002-07-05 00:27
2002.07.18
Printing in StringGrid


3-57939
KAA
2002-06-24 15:22
2002.07.18
Вызов хранимых процедур MSSQL из сервиса (Delphi 5).


1-58030
Belov
2002-07-03 16:47
2002.07.18
Excel




   Наверх