|
|
|
ASE total I/O cost и реальная скорость запроса
|
|||
|---|---|---|---|
|
#18+
Господа, подскажите может ли такое быть. Сравниваю планы 2х вариантов запроса. 1й вариант Total estimated I/O cost for statement 1 (at line 2): 481050. 2й - Total estimated I/O cost for statement 1 (at line 3): 205160305. При этом время выполнения 2го варианта в 3 !!! раза быстрее чем первого. Как такое может быть? Разве I/O не определяет однозначно производительность запроса: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 21:37 |
|
||
|
ASE total I/O cost и реальная скорость запроса
|
|||
|---|---|---|---|
|
#18+
Да, Я тоже с таким недавно столкнулся.Не знаю почему. Самому интересно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 22:11 |
|
||
|
ASE total I/O cost и реальная скорость запроса
|
|||
|---|---|---|---|
|
#18+
Вот задал этот вопрос в sybase.public.ase.performance+tuning и гуру Rob Verschoor ответил что это может быть когда статистика стара: "Well, this can happen when the cost estimates are off, for example because the statistics do not reflect the actual data distribution." Но мне кажется что я имел эту ситуацию и после update statistics. А как у Вас ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 23:04 |
|
||
|
ASE total I/O cost и реальная скорость запроса
|
|||
|---|---|---|---|
|
#18+
ZhoraВот задал этот вопрос в sybase.public.ase.performance+tuning и гуру Rob Verschoor ответил что это может быть когда статистика стара: "Well, this can happen when the cost estimates are off, for example because the statistics do not reflect the actual data distribution." Но мне кажется что я имел эту ситуацию и после update statistics. А как у Вас ? Я обновил статистику для всех таблиц из запроса. Результат такой-же. I/O в 1го запроса в районе 400 000, второго около 1 500 000, но второй запрос отрабатывает почти со свистом, а первый со скрипом. Разница во времени почти 2 раза. Попробовал на другом сервере. Там вообще для 2го запроса 1 000 000 000 i/o показала, но он в разы быстрее первого отработал. Вероятнее всего оптимизатор делает неправильную оценку стоимости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2008, 00:31 |
|
||
|
ASE total I/O cost и реальная скорость запроса
|
|||
|---|---|---|---|
|
#18+
Kru wrote: > подскажите может ли такое быть. > Сравниваю планы 2х вариантов запроса. > 1й вариант Total estimated I/O cost for statement 1 (at line 2): 481050. > 2й - Total estimated I/O cost for statement 1 (at line 3): 205160305. > > При этом время выполнения 2го варианта в 3 !!! раза быстрее чем первого. > > Как такое может быть? Разве I/O не определяет однозначно > производительность запроса: Ну чисто теоретически в запросе может быть prefetch и параллелизм, при этом он может быть в итоге дает большее IO, но за счет распараллеливания работы итоговое время меньше. Но я на практике не помню, чтобы встречал такое. Я обычно не смотрю на время выполнения запроса вообще, оно не интересно, поскольку достаточно случайно. Т.е. большое время говорит о том, что надо попытаться что-то сделать с запросом, посмотреть на план и IO. Но само время как таковое - не критерий. Ну и уже я не говорю о том, что при работе в многозадачной среде запрос просто может стоять и ждать очереди на выполнение, и таким образом время будет тикать, а IO - нет. Но это все такие предв. теоретические соображения. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2008, 10:36 |
|
||
|
ASE total I/O cost и реальная скорость запроса
|
|||
|---|---|---|---|
|
#18+
Kru wrote: > Вероятнее всего оптимизатор делает неправильную оценку стоимости. Так может планы и IO покажете ? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2008, 10:37 |
|
||
|
ASE total I/O cost и реальная скорость запроса
|
|||
|---|---|---|---|
|
#18+
Kru ZhoraВот задал этот вопрос в sybase.public.ase.performance+tuning и гуру Rob Verschoor ответил что это может быть когда статистика стара: "Well, this can happen when the cost estimates are off, for example because the statistics do not reflect the actual data distribution." Но мне кажется что я имел эту ситуацию и после update statistics. А как у Вас ? Я обновил статистику для всех таблиц из запроса. Результат такой-же. I/O в 1го запроса в районе 400 000, второго около 1 500 000, но второй запрос отрабатывает почти со свистом, а первый со скрипом. Разница во времени почти 2 раза. Попробовал на другом сервере. Там вообще для 2го запроса 1 000 000 000 i/o показала, но он в разы быстрее первого отработал. Вероятнее всего оптимизатор делает неправильную оценку стоимости. Ну я тут продолжил спрашивать и в ответ получил (собственно и первый раз можно было так интерпретировать) что статистика может просто быть неадеквата данным и например при большом количестве неравномерно распределенных дупликатов быть "офф": "Updating the stats doesn't always guarantee the stats are an accurate reflection of the data. Notorious cases are tables where dupliactes are spread unevenly over the table, or implicit depencies between different column values. That sort of thing may hit the limit of the cost model." Я так понимаю что надо увеличить число histogram steps чтобы иметь более точную статистику. Вообще статистика в ASE 12.5 (не знаю как в 15.0) имеет фундаментальный недостаток IMHO - нет histogram на комбинацию полей, т.е. зная что val(col1)="A" - 25 раз встретится, a val(col2)="C" - 10 раз встретится, нельзя сказать сколькo раз встретится val(col1||c0l2)="AC", может 250, может что нибудь от 1 до 250 a может и ни разу. Это мне и "бывший гуру" Eric Miner (ЕМ) подтвердил, сославшись что есть density, чего по-моему недостаточно. B cвое время я набрел на статью исследовательницы (не помню ее имени, типа Ким из Duke University) которая работала по заказу IBM над новым оптимаизером где такая статистика имелась. Я сослался на эту статью, меня поблагодарили (ЕМ) после чего статья изчезла с этого веб-сайта. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2008, 19:44 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=35086917&tid=2011723]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
183ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 510ms |

| 0 / 0 |
