|
|
|
Чрезмерно долгое выполнение запроса!!
|
|||
|---|---|---|---|
|
#18+
Всем привет! Пожалуйста подскажите, в чем может быть причина, что запрос выполняется очень долго? Может быть ошибки в скрипте? Пожалуйста посмотрите запрос, разположенный ниже, и выскажите свое мнение и замечания!! declare @dtimestart char(10),@s char(9), @e char(9) set @dtimestart = (select convert(char(10), getdate(), 111)) set @s = ' 13:00:00' set @e = ' 15:00:00' select cast(avg(paflt1) as decimal(6,1)),cast(avg(papipe1) as decimal(6,1)), cast(avg(pampmp4) as decimal(6,1)), cast(avg(paoutvlv1) as decimal(6,1)), cast(avg(panps1) as decimal(6,1)), cast(avg(pampmp1) as decimal(6,1)), cast(avg(paoilinbrmpmp) as decimal(6,2)), cast(avg(tempfbrmpmp1) as decimal(6,1)), cast(avg(tempbbrmpmp1) as decimal(6,1)), cast(avg(tempcasempmp1) as decimal(6,1)), cast(avg(tempfbrmmtr1) as decimal(6,1)), cast(avg(tempbbrmmtr1) as decimal(6,1)), cast(avg(tempcasemmtr1) as decimal(6,1)), cast(avg(tempwnd1mmtr1) as decimal(6,1)), cast(avg(tempwnd2mmtr1) as decimal(6,1)), cast(avg(tempwnd3mmtr1) as decimal(6,1)), cast(avg(tempwnd4mmtr1) as decimal(6,1)), cast(avg(tempwnd5mmtr1) as decimal(6,1)), cast(avg(tempwnd6mmtr1) as decimal(6,1)), cast(avg(tempoilinbrmpmp) as decimal(6,1)), cast(avg(tempoiloutbrmpmp) as decimal(6,1)), cast(avg(vibhorfbrmpmp1) as decimal(6,1)), cast(avg(vibhorbbrmpmp1) as decimal(6,1)), cast(avg(vibverfbrmpmp1) as decimal(6,1)), cast(avg(vibverbbrmpmp1) as decimal(6,1)), cast(avg(iammtr1) as decimal(6,0)), cast(avg(iaexcmmtr1) as decimal(6,0)), cast(avg(posvlvr61) as decimal(6,0)), cast(avg(posvlvr62) as decimal(6,0)) from analog where dtime between @dtimestart+@s and @dtimestart+@e Заранее благодарен! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2002, 17:37:52 |
|
||
|
Чрезмерно долгое выполнение запроса!!
|
|||
|---|---|---|---|
|
#18+
конечно долго т.к. оптимизатор не использует индексы и на кучу cast(<expr>) тратится масса времени ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2002, 18:36:14 |
|
||
|
Чрезмерно долгое выполнение запроса!!
|
|||
|---|---|---|---|
|
#18+
Так какое решение проблемы, убрать cast-ы или что, из-за чего не изпользуются индексы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2002, 18:56:24 |
|
||
|
Чрезмерно долгое выполнение запроса!!
|
|||
|---|---|---|---|
|
#18+
Можно объяснить смысл кастов к decimal(6, 0)? В WHERE убери сложение и считай его до выполнения запроса. Правильно, что DATEDIFF не используешь - оптимизатор запутался бы окончательно. Убедись, что есть индекс по полю dtime. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2002, 19:33:53 |
|
||
|
Чрезмерно долгое выполнение запроса!!
|
|||
|---|---|---|---|
|
#18+
Эти данные изпользуются для отчетов, в которых данные должны отображаться с определенной точностью, а в таблицу данные пишутся с 8 знаками после запятой. Потому мне и приходится обрезать данные. Если есть какие-либо идеи, как это можно сделать, то я буду очень признателен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2002, 19:50:26 |
|
||
|
Чрезмерно долгое выполнение запроса!!
|
|||
|---|---|---|---|
|
#18+
План выполнения запроса анализировали ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2002, 19:56:12 |
|
||
|
Чрезмерно долгое выполнение запроса!!
|
|||
|---|---|---|---|
|
#18+
Посмотри сюда, может поможет: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2002, 20:31:18 |
|
||
|
Чрезмерно долгое выполнение запроса!!
|
|||
|---|---|---|---|
|
#18+
По моему проблема в условии. Код: plaintext Если поле dtime имеет тип datetime, как будет интерпритирована эта конструкция? Как то не однозначно получается дата сравнивается со строкой! Попробуйте переделать на Код: plaintext 1. 2. 3. 4. 5. 6. 7. Тогда возможно и индекс по dtime заработает. Если же dtime - строка, то переделайте в дату. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2002, 10:10:52 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32055634&tid=1819819]: |
0ms |
get settings: |
11ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
74ms |
get topic data: |
13ms |
get forum data: |
4ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 238ms |
| total: | 429ms |

| 0 / 0 |
