Вниз
Скачать: 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.012 c
1-58206
Jmenya
2002-07-06 14:42
2002.07.18
Уважаемые Мастера .....


3-57965
wHammer
2002-06-24 11:55
2002.07.18
Снова Paradox


3-57998
DFort
2002-06-27 11:14
2002.07.18
Grid


7-58327
Semyon
2002-04-11 18:04
2002.07.18
winXP


3-58014
AlexA
2002-06-18 14:16
2002.07.18
Редко изменяемые данные




   Наверх