Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Не пойму в чем проблема
|
|||
|---|---|---|---|
|
#18+
есть запрос на Sybase ACE 12.5 select karta.idv, nsi_nom.name, prim_bux.prim_sto, osta_bux.ost_sto, document.id_doc, recv_doc.id_recv from document inner join recv_doc inner join karta inner join nsi_nom on nsi_nom.id_nom = karta.id_nom inner join prim_bux on prim_bux.id_karta = karta.id_karta and prim_bux.dat_dv = convert(datetime, '01/06/2007') inner join osta_bux on osta_bux.id_karta = karta.id_karta and osta_bux.dat_dv = convert(datetime, '01/06/2007') on karta.id_karta = convert(int, recv_doc.value_recv) on recv_doc.id_doc = document.id_doc where document.id_doc = 2007000533 при выполнении в advantage выполняется мгновенно при выполнении через ODBC выполняется 50 минут при изменении даты на меньшую, например 01.03.2007, и в advantage и через ODBC выполняется мгновенно. количество возращаемых записей +- 8000 для любой даты. запрос запрос работает уже полгода, проблем не было Вопрос : в чем могут быть причины, че смотреть, куда лезть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2007, 23:07 |
|
||
|
Не пойму в чем проблема
|
|||
|---|---|---|---|
|
#18+
какой query plan строит ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2007, 11:22 |
|
||
|
Не пойму в чем проблема
|
|||
|---|---|---|---|
|
#18+
вот такой вот план запроса STEP 1 The type of query is SELECT. FROM TABLE document Nested iteration. Index : document_id_doc_15346285101 Forward scan. Positioning by key. Index contains all needed columns. Base table will not be read. Keys are: id_doc ASC Using I/O Size 2 Kbytes for index leaf pages. With LRU Buffer Replacement Strategy for index leaf pages. FROM TABLE recv_doc Nested iteration. Index : id_doc Forward scan. Positioning by key. Keys are: id_doc ASC Using I/O Size 2 Kbytes for index leaf pages. With LRU Buffer Replacement Strategy for index leaf pages. Using I/O Size 2 Kbytes for data pages. With LRU Buffer Replacement Strategy for data pages. FROM TABLE karta Nested iteration. Index : karta_id_kar_6351493082 Forward scan. Positioning by key. Keys are: id_karta ASC Using I/O Size 2 Kbytes for index leaf pages. With LRU Buffer Replacement Strategy for index leaf pages. Using I/O Size 2 Kbytes for data pages. With LRU Buffer Replacement Strategy for data pages. FROM TABLE nsi_nom Nested iteration. Index : nsi_nom_id_nom_21266306192 Forward scan. Positioning by key. Keys are: id_nom ASC Using I/O Size 2 Kbytes for index leaf pages. With LRU Buffer Replacement Strategy for index leaf pages. Using I/O Size 2 Kbytes for data pages. With LRU Buffer Replacement Strategy for data pages. FROM TABLE prim_bux Nested iteration. Index : dat_dv_id_karta_prim_sto Forward scan. Positioning by key. Index contains all needed columns. Base table will not be read. Keys are: dat_dv ASC id_karta ASC Using I/O Size 2 Kbytes for index leaf pages. With LRU Buffer Replacement Strategy for index leaf pages. FROM TABLE osta_bux Nested iteration. Index : dat_dv_id_karta_ost_sto Forward scan. Positioning by key. Index contains all needed columns. Base table will not be read. Keys are: dat_dv ASC id_karta ASC Using I/O Size 2 Kbytes for index leaf pages. With LRU Buffer Replacement Strategy for index leaf pages. Server Message: Number 3630, Severity 10 Server 'storm_ds', Line 1: Total estimated I/O cost for statement 1 (at line 1): 4836. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2007, 11:30 |
|
||
|
Не пойму в чем проблема
|
|||
|---|---|---|---|
|
#18+
Фефила пишет: > Автор: Фефила > вот такой вот план запроса > > STEP 1 > The type of query is SELECT. Замечательный план запроса. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2007, 18:19 |
|
||
|
Не пойму в чем проблема
|
|||
|---|---|---|---|
|
#18+
скорее всего другие параметры коннекта для odbc. например установленно "Read uncommited" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 00:50 |
|
||
|
Не пойму в чем проблема
|
|||
|---|---|---|---|
|
#18+
Если кому интересно - удалила индекс dat_dv_id_karta(который используется в плане запроса) и создала его заново с теми же параметрами, что и были - no clustered, no unique, no suspect, fill faktor = 80. И все заработало! Ура! Но в чем все - таки проблема, почему "запортился" индекс? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 13:58 |
|
||
|
Не пойму в чем проблема
|
|||
|---|---|---|---|
|
#18+
Фефила пишет: > Если кому интересно - удалила индекс dat_dv_id_karta(который > используется в плане запроса) и создала его заново с теми же > параметрами, что и были - no clustered, no unique, no suspect, fill > faktor = 80. И все заработало! Ура! Но в чем все - таки проблема, почему > "запортился" индекс? Ну индексы иногда "расползаются", деградируют. Уменьшается cluster ratio. Подробнее можно сказать только если знать данные и транзакции хорошо. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 14:10 |
|
||
|
Не пойму в чем проблема
|
|||
|---|---|---|---|
|
#18+
Фефила пишет: > параметрами, что и были - no clustered, no unique, no suspect, fill > faktor = 80. И все заработало! Ура! Но в чем все - таки проблема, почему > "запортился" индекс? А кстати и более банальная есть причина - при создании индекса UPDATE-ится статистика. Т.е. может вам бы хватило update statistics выполнить без пересоздания индекса. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 14:11 |
|
||
|
Не пойму в чем проблема
|
|||
|---|---|---|---|
|
#18+
Кста, забыла сказать, что перед удалением и созданием индекса заново было сделано : dbcc reindex, tablealloc, checktable, indexalloc, checkdb и ничего не помогало. Не верится, что индексы просто так берут и ломаются, должна же быть причина. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 15:33 |
|
||
|
Не пойму в чем проблема
|
|||
|---|---|---|---|
|
#18+
Фефила пишет: > было сделано : dbcc reindex, tablealloc, checktable, indexalloc, checkdb > и ничего не помогало. Не верится, что индексы просто так берут и > ломаются, должна же быть причина. А все вышеперечисленное и не могло помочь (dbcc reindex разве что - не помню что это такое). update statistics могло бы... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 16:20 |
|
||
|
Не пойму в чем проблема
|
|||
|---|---|---|---|
|
#18+
а не может ли поломка индексов быть связана с железом, или с тем, что изменили настройки БД, или с тем, что сисадмин поставил новую версию linuxа, или с неустойчивой работой сетки? мне важно знать, что может в принципе повлиять на объект sybase-a. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 17:29 |
|
||
|
Не пойму в чем проблема
|
|||
|---|---|---|---|
|
#18+
Фефилаа не может ли поломка индексов быть связана с железом, или с тем, что изменили настройки БД, или с тем, что сисадмин поставил новую версию linuxа, или с неустойчивой работой сетки? мне важно знать, что может в принципе повлиять на объект sybase-a. Железо (особенно память) - да, и это самая частая причина поломок БД. Настройки БД - могут повлиять только на скорость работы, но данные или индексы не порушат. Новоя версия системы - вряд-ли, но теоретически возможно. Устойчивость сети на целостность базы не влияет соверешенно. --- http://www.rusug.ru] Портал русскоязычной группы пользователей Sybase ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 17:35 |
|
||
|
Не пойму в чем проблема
|
|||
|---|---|---|---|
|
#18+
Фефила пишет: > а не может ли поломка индексов быть связана с железом, или с тем, что > изменили настройки БД, или с тем, что сисадмин поставил новую версию > linuxа, или с неустойчивой работой сетки? мне важно знать, что может в > принципе повлиять на объект sybase-a. Так у вас же все работало, но медленно запрос шел. Разве нет ? Если бы покоцалась база у вас бы падали запросы и в лог лились бы ошибки. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 17:50 |
|
||
|
Не пойму в чем проблема
|
|||
|---|---|---|---|
|
#18+
Работало, но ненормально - один и тот же запрос в зависимости от даты работал по - разному из ODBC, а в advantage - одинаково. т.е. похоже, что планы выполнения запроса в ODBC и в advantage разные. и после update statistics (удаления и создания индекса) все заработало и в ODBC и в advantage. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 22:42 |
|
||
|
Не пойму в чем проблема
|
|||
|---|---|---|---|
|
#18+
Вы не допускали мысль, что если через ODBC запросы выполняются через Prepared Statement, то SARGи передаются как параметры и оптимизатор строит план запроса на основе дефолтных значений селективности для определённого типа операции? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2007, 11:37 |
|
||
|
Не пойму в чем проблема
|
|||
|---|---|---|---|
|
#18+
just me пишет: > Вы не допускали мысль, что если через ODBC запросы выполняются через > Prepared Statement, то SARGи передаются как параметры и оптимизатор > строит план запроса на основе дефолтных значений селективности для > определённого типа операции? Так это наоборот хорошо, и в таких случаях используются НЕ дефолтные значения селективности, а реальные для значений параметров при первом вызове процедуры. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2007, 12:42 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=34777702&tid=2011944]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
59ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
| others: | 242ms |
| total: | 394ms |

| 0 / 0 |
