Вниз
Скачать: 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.008 c
14-58274
Vvedensk
2002-06-20 15:43
2002.07.18
Запись на балванку....


6-58248
vsu
2002-03-31 13:25
2002.07.18
Socket Error


7-58350
Leon
2002-04-26 14:36
2002.07.18
Доступ к дискам


1-58195
ivlex
2002-07-06 08:15
2002.07.18
Об Edit и проверке существования файла


3-57977
bobr12
2002-06-26 15:48
2002.07.18
InterBase - проблема с русскими шрифтами




   Наверх