powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Не пойму в чем проблема
16 сообщений из 16, страница 1 из 1
Не пойму в чем проблема
    #34746089
Фефила
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть запрос на 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 для любой даты.

запрос запрос работает уже полгода, проблем не было

Вопрос : в чем могут быть причины, че смотреть, куда лезть.
...
Рейтинг: 0 / 0
Не пойму в чем проблема
    #34746923
Rubber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
какой query plan строит ?
...
Рейтинг: 0 / 0
Не пойму в чем проблема
    #34746966
Фефила
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот такой вот план запроса

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.
...
Рейтинг: 0 / 0
Не пойму в чем проблема
    #34748945
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фефила пишет:
> Автор: Фефила
> вот такой вот план запроса
>
> STEP 1
> The type of query is SELECT.

Замечательный план запроса.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Не пойму в чем проблема
    #34749469
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скорее всего другие параметры коннекта для odbc.
например установленно "Read uncommited"
...
Рейтинг: 0 / 0
Не пойму в чем проблема
    #34777634
Фефила
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если кому интересно - удалила индекс dat_dv_id_karta(который используется в плане запроса) и создала его заново с теми же параметрами, что и были - no clustered, no unique, no suspect, fill faktor = 80. И все заработало! Ура! Но в чем все - таки проблема, почему "запортился" индекс?
...
Рейтинг: 0 / 0
Не пойму в чем проблема
    #34777697
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фефила пишет:

> Если кому интересно - удалила индекс dat_dv_id_karta(который
> используется в плане запроса) и создала его заново с теми же
> параметрами, что и были - no clustered, no unique, no suspect, fill
> faktor = 80. И все заработало! Ура! Но в чем все - таки проблема, почему
> "запортился" индекс?

Ну индексы иногда "расползаются", деградируют. Уменьшается cluster ratio.
Подробнее можно сказать только если знать данные и транзакции хорошо.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Не пойму в чем проблема
    #34777702
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фефила пишет:
> параметрами, что и были - no clustered, no unique, no suspect, fill
> faktor = 80. И все заработало! Ура! Но в чем все - таки проблема, почему
> "запортился" индекс?

А кстати и более банальная есть причина - при создании индекса UPDATE-ится
статистика. Т.е. может вам бы хватило update statistics выполнить без
пересоздания индекса.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Не пойму в чем проблема
    #34778145
Фефила
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кста, забыла сказать, что перед удалением и созданием индекса заново было сделано : dbcc reindex, tablealloc, checktable, indexalloc, checkdb и ничего не помогало. Не верится, что индексы просто так берут и ломаются, должна же быть причина.
...
Рейтинг: 0 / 0
Не пойму в чем проблема
    #34778375
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фефила пишет:
> было сделано : dbcc reindex, tablealloc, checktable, indexalloc, checkdb
> и ничего не помогало. Не верится, что индексы просто так берут и
> ломаются, должна же быть причина.

А все вышеперечисленное и не могло помочь (dbcc reindex разве что - не
помню что это такое). update statistics могло бы...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Не пойму в чем проблема
    #34778747
Фефила
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а не может ли поломка индексов быть связана с железом, или с тем, что изменили настройки БД, или с тем, что сисадмин поставил новую версию linuxа, или с неустойчивой работой сетки? мне важно знать, что может в принципе повлиять на объект sybase-a.
...
Рейтинг: 0 / 0
Не пойму в чем проблема
    #34778779
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фефилаа не может ли поломка индексов быть связана с железом, или с тем, что изменили настройки БД, или с тем, что сисадмин поставил новую версию linuxа, или с неустойчивой работой сетки? мне важно знать, что может в принципе повлиять на объект sybase-a.
Железо (особенно память) - да, и это самая частая причина поломок БД.
Настройки БД - могут повлиять только на скорость работы, но данные или индексы не порушат.
Новоя версия системы - вряд-ли, но теоретически возможно.
Устойчивость сети на целостность базы не влияет соверешенно.

---
http://www.rusug.ru] Портал русскоязычной группы пользователей Sybase
...
Рейтинг: 0 / 0
Не пойму в чем проблема
    #34778844
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фефила пишет:
> а не может ли поломка индексов быть связана с железом, или с тем, что
> изменили настройки БД, или с тем, что сисадмин поставил новую версию
> linuxа, или с неустойчивой работой сетки? мне важно знать, что может в
> принципе повлиять на объект sybase-a.

Так у вас же все работало, но медленно запрос шел. Разве нет ?
Если бы покоцалась база у вас бы падали запросы и в лог лились бы
ошибки.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Не пойму в чем проблема
    #34779432
Фефила
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Работало, но ненормально - один и тот же запрос в зависимости от даты работал по - разному из ODBC, а в advantage - одинаково. т.е. похоже, что планы выполнения запроса в ODBC и в advantage разные. и после update statistics (удаления и создания индекса) все заработало и в ODBC и в advantage.
...
Рейтинг: 0 / 0
Не пойму в чем проблема
    #34780351
just me
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вы не допускали мысль, что если через ODBC запросы выполняются через Prepared Statement, то SARGи передаются как параметры и оптимизатор строит план запроса на основе дефолтных значений селективности для определённого типа операции?
...
Рейтинг: 0 / 0
Не пойму в чем проблема
    #34780751
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
just me пишет:

> Вы не допускали мысль, что если через ODBC запросы выполняются через
> Prepared Statement, то SARGи передаются как параметры и оптимизатор
> строит план запроса на основе дефолтных значений селективности для
> определённого типа операции?

Так это наоборот хорошо, и в таких случаях используются НЕ дефолтные
значения селективности, а реальные для значений параметров при
первом вызове процедуры.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Не пойму в чем проблема
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]