powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Процедура и кэши (ASE 12.5)
25 сообщений из 52, страница 1 из 3
Процедура и кэши (ASE 12.5)
    #35960319
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго дня!
Подскажите пожалуйста.
Есть процедура с параметрами.
Сколько раз ее ни запускаю (с одними и теми же параметрами) отрабатывает одинаково долго.
Почему данные не кэшируются?
...
Рейтинг: 0 / 0
Процедура и кэши (ASE 12.5)
    #35960357
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
немного добавлю:
в процедуре выполняются запросы, которые сохраняются в курсоры "#tab1", "#tab2", "#tab3".
а затем с этих трех таблиц делается "union".
есть подозрение что именно в этом вся загвоздка, а точнее при insert'e в курсоры.
куда смотреть, что править??? help.
...
Рейтинг: 0 / 0
Процедура и кэши (ASE 12.5)
    #35961861
cherrex_Den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
set statistics io on
exec your_proc
set statistics io off

покажит вам что не кэшируеться, но думаю у вас что-то другое.
...
Рейтинг: 0 / 0
Процедура и кэши (ASE 12.5)
    #35967661
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Imperous wrote:

> Сколько раз ее ни запускаю (с одними и теми же параметрами) отрабатывает
> одинаково долго.
> Почему данные не кэшируются?
А почему вы думаете, что они не кэшируются ?
Процедура может выполняться долго, даже если данные
все закэшированы.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Процедура и кэши (ASE 12.5)
    #35968908
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv,
я видел то, насколько быстро эта процедура умеет отрабатывать...
...
Рейтинг: 0 / 0
Процедура и кэши (ASE 12.5)
    #35968945
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cherrex_Den
Код: plaintext
1.
2.
3.
set statistics io on
exec your_proc
set statistics io off

покажит вам что не кэшируеться, но думаю у вас что-то другое.
не показывает, процедура отрабатывает и больше никакой инфы нету...
...
Рейтинг: 0 / 0
Процедура и кэши (ASE 12.5)
    #35969017
cherrex_Den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Imperous,

в чем ваполняете? клиент какой?
...
Рейтинг: 0 / 0
Процедура и кэши (ASE 12.5)
    #35969059
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cherrex_DenImperous,

в чем ваполняете? клиент какой?
из централи
...
Рейтинг: 0 / 0
Процедура и кэши (ASE 12.5)
    #35969107
cherrex_Den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Imperous,

незнаю что такое "централи"!

выполните в isql или SQL Advantage!
...
Рейтинг: 0 / 0
Процедура и кэши (ASE 12.5)
    #35969178
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cherrex_DenImperous,

незнаю что такое "централи"!

выполните в isql или SQL Advantage!
можно сказать что это SQL Advantage который находится в централь (Sybase Central), но называется isql
...
Рейтинг: 0 / 0
Процедура и кэши (ASE 12.5)
    #35969238
cherrex_Den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Imperous,

вы должны увидеть что-то типа:
...
Рейтинг: 0 / 0
Процедура и кэши (ASE 12.5)
    #35969240
cherrex_Den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Процедура и кэши (ASE 12.5)
    #35969253
cherrex_Den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
где,

logical reads: (regular=14 apf=0 total=14)
страницы из кэша, а

physical reads: (regular=0 apf=0 total=0)
страницы считаные с диска.
...
Рейтинг: 0 / 0
Процедура и кэши (ASE 12.5)
    #35969313
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выполнил в isql, вижу результат, но не понимаю что с ним делать
...
Рейтинг: 0 / 0
Процедура и кэши (ASE 12.5)
    #35969320
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
аа понял, но к сожалению сейчас попробовать не могу, сейчас все летает :(
и чтение показывает только логическое...
...
Рейтинг: 0 / 0
Процедура и кэши (ASE 12.5)
    #35969680
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cherrex_Den wrote:
> logical reads: (regular=14 apf=0 total=14)
> страницы из кэша, а
> physical reads: (regular=0 apf=0 total=0)
> страницы считаные с диска.

Я поясню. Если в

physical reads: (regular=R apf=P total=T)

хотя бы одна из R или P не равна нулю, то
физическое чтение есть. Если обе равны нулю, то его нет
(т.е. всё берётся из кэша).

Последнее значение T = R + P
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Процедура и кэши (ASE 12.5)
    #35969981
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
появилось два вопроса связанных с этим:
1) если все же чтение происходит с диска, как это вылечить, как эти данные закинуть в кэш (без создания именованного кэша и привязки к нему) ?
2) если данные кэша и данные таблицы различны (возможна ли вобще такая ситуация?), то как обновить кэш?
...
Рейтинг: 0 / 0
Процедура и кэши (ASE 12.5)
    #35970028
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Imperous wrote:

> 1) если все же чтение происходит с диска, как это вылечить, как эти
> данные закинуть в кэш (без создания именованного кэша и привязки к нему) ?

Никак. Чтение с диска для БД -- это нормально. Все данные в кэш никогда не
положешь, на то он и кэш. Если нужно наполнить кэш, нужно просто прочитать
нужные данные и всё. Но это очень редко требуется делать специально.

> 2) если данные кэша и данные таблицы различны (возможна ли вобще такая
> ситуация?),

Нет, такая ситуация невозможна.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Процедура и кэши (ASE 12.5)
    #35971358
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сегодня удалось застигнуть опять эту ситуацию (с тормозами) и немного проаналировать.
включил:
- set statistics io on
- set showplan on
запустил процедуру.

В плане я увидел то, что в одной (большой) таблице, в 3 из 6 раз, не используется индекс, и идет table scan.
В статистике я увидел то, что все данные, всех таблиц взялись из кэша.

Запускаю эту процедуру несколько раз с одними и теми же параметрами, но отрабатывает она очень долго, хотя еще вчера "летала".

Появились вопросы:
- почему не всегда используется индекс?
- почему в кэше не сохранился результат?
...
Рейтинг: 0 / 0
Процедура и кэши (ASE 12.5)
    #35971380
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Imperous wrote:

> Появились вопросы:

Встречные вопросы:

> - почему не всегда используется индекс?

А почему ты думаешь, что он всегда должен использоваться ?

> - почему в кэше не сохранился результат?

В каком кэше и какой результат ?
Ты же вроде бы написал, что "В статистике я увидел то, что все данные, всех
таблиц взялись из кэша."
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Процедура и кэши (ASE 12.5)
    #35971512
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) я думаю логично когда индексы все же используются для выборки...
2) согласен, что-то я не то сморозил
...
Рейтинг: 0 / 0
Процедура и кэши (ASE 12.5)
    #35971996
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Imperous wrote:
> 1) я думаю логично когда индексы все же используются для выборки...

Иногда -- логично, иногда -- нет.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Процедура и кэши (ASE 12.5)
    #35972365
iLLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Желание, чтобы данные были по максимуму в кэше понятно, но не обосновано. Присутствие в кэше всех данных еще не говорит о том, что процедура будет "летать", и наоборот, чтобы процедура летала необязательно все иметь в кэше. Понимаете, на что я намекаю?

Нужно смотреть на планы выполняемых запросов и разбираться с производительностью их выполнения. Данные в кэше - это вторично и выкиньте временно это из головы.

P.S.: Кстати, присутствие всех данных в кэше может сыграть злую шутку именно тем, что сервер может выбирать перебор всей таблицы из памяти, а не чтение индекса с диска. Так что еще не известно, что хорошо, а что плохо.
...
Рейтинг: 0 / 0
Процедура и кэши (ASE 12.5)
    #35972407
cherrex_Den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iLLer что сервер может выбирать перебор всей таблицы из памяти, а не чтение индекса с диска.

это как? Оптимизатору обсолютно по барабану есть данные в кэше или их нет, на план это не влияет и он не проверияет сколько данных в кэше, а скоко на диске.(ИМХО) По моему он строит план, закладываясь на самый худший результат, когда данных в кэше нет(т.е. они все на диске)

Хотя могу и ошибаться!
...
Рейтинг: 0 / 0
Процедура и кэши (ASE 12.5)
    #35972608
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iLLer wrote:

> P.S.: Кстати, присутствие всех данных в кэше может сыграть злую шутку
> именно тем, что сервер может выбирать перебор всей таблицы из памяти, а
> не чтение индекса с диска.

Нет, не может. Наполненность кэша не учитывается при составлении плана.

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


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