|
Сломалась оптимизация..
|
|||
---|---|---|---|
#18+
--- условно чтобы показать проблему (на синтаксис особоо не заморачиваться).. use DSBO - позиции в докумете есть индекс по koddok и kodtow use DTOW - товар есть индекс по kodtow use Shapki - шапки документа select Shapki browse for s_sum(kod)>0 Function s_sum lparameter m.kod SELECT SUM(AA.KOLVO*BB.CENA) FROM DSBO AA,DTOW BB WHERE AA.KODDOK=M.KOD AND AA.KODTOW=BB.KODTOW GROUP BY AA.KODDOK INTO ARRAY M_ARSUM return M_ARSUM(1) --------------------------------------- Стала работать медленней в 6 раз. Проверил =SYS(3054,11,"ZZZ") Не оптимизировалась по bb - почему? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2012, 05:47 |
|
Сломалась оптимизация..
|
|||
---|---|---|---|
#18+
MaestroEvПроверил =SYS(3054,11,"ZZZ") Не оптимизировалась по bb - почему? И чего пишет? Мы телепатически должны догадаться? Вставить ответ в буфер обмена так: Код: sql 1.
Какие индексы есть в DSBO, DTOW ? Надо индексы по DSBO.KODDOK и DTOW.KODTOW Какого типа поля AA.KODDOK и AA.KODTOW ? Если поля символьные и есть индексы - проверь что индексы созданы и запрос выполняется при одинаковом SET COLLATE Так сделать запрос попробуй: Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2012, 06:57 |
|
|
start [/forum/topic.php?fid=41&fpage=62&tid=1583850]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
75ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 189ms |
0 / 0 |