|
|
|
Индекс на дату (Sybase ASA)
|
|||
|---|---|---|---|
|
#18+
Да я же говорю, что известная фигня. На больших объемах он тупит. И также не нужно считать оптимизатор "умнее" себя. Он не умнее и не глупее, он алгоритм. И где-то в его логике косяк. А косяк заключается в том, что план он выбирает исходя из cost оценки. Вот только проблема в том, что оценка не совпадает с действительностью. На больших относительно кэша таблицах далеко не совпадает. Он считает, что без индекса быстрее, а по факту получается не так. И каждый раз не так. Я уже давно наигрался на своих мега-табличках и помогает только force index. Судя по всему у оценщика нехватает разрядности во внтуренних алгоритмах или еще чего-то. Ведь граница в 20% - это подходит не ко всем таблицам. А если таблица 200млн? Лучше было бы, если б можно было оптимизатору явно давать информацию о стоимости IO диска и памяти. И чтобы он учитывал это. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2010, 19:52 |
|
||
|
Индекс на дату (Sybase ASA)
|
|||
|---|---|---|---|
|
#18+
Вот с этой опцией optimization_goal очень опасно играться. Может выйти боком совершенно в другом месте. Причем может произойти через год, и будете ломать голову с другими запросами почему вдруг перестало работать. Я такие грабли уже имел в 2005-м. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2010, 21:04 |
|
||
|
Индекс на дату (Sybase ASA)
|
|||
|---|---|---|---|
|
#18+
Вообще аса учитывает стоимости работы IO конкретной базы, но по умолчанию там заданы усредненные параметры. Для того, что-бы сервак знал и учитывал производительность конкретного железа в доке рекомендуют сделать один раз CALIBRATE DATABASE Во всяком случае, это команда не навредит. Я лично с такими траблами не сталкивался, проверить не на чем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2010, 22:12 |
|
||
|
Индекс на дату (Sybase ASA)
|
|||
|---|---|---|---|
|
#18+
Ggg_old, А что это за CALIBRATE DATABASE такое? Не могу в реферансе найти... Может оно тут как раз поможет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2010, 09:53 |
|
||
|
Индекс на дату (Sybase ASA)
|
|||
|---|---|---|---|
|
#18+
Извиняюсь, эта опция точно находится здесь: ALTER DATABASE { CALIBRATE [ SERVER ] | CALIBRATE DBSPACE dbspace-name | CALIBRATE DBSPACE TEMPORARY | CALIBRATE PARALLEL READ | RESTORE DEFAULT CALIBRATION } Только я взял хелп от десятки, но в девятке точно есть эта команда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2010, 10:30 |
|
||
|
Индекс на дату (Sybase ASA)
|
|||
|---|---|---|---|
|
#18+
08.04.2010 11:30, Ggg_old пишет: > Только я взял хелп от десятки, но в девятке точно есть эта команда. RTFM от 9.0.2 гласит: ALTER DATABASE { CALIBRATE [ SERVER ] | CALIBRATE DBSPACE dbspace-name | CALIBRATE DBSPACE TEMPORARY | RESTORE DEFAULT CALIBRATION } Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2010, 10:52 |
|
||
|
Индекс на дату (Sybase ASA)
|
|||
|---|---|---|---|
|
#18+
Судя по описанию, это то что нужно: You can also use ALTER DATABASE to perform recalibration of the I/O cost model used by the optimizer. This updates the Disk Transfer Time (DTT) model, which is a mathematical model of the disk I/O used by the cost model. Очень любопытно, повлияет ли и как на ситуацию у автора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2010, 11:23 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=36567756&tid=2010686]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
65ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 249ms |
| total: | 409ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...