powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / план запроса
10 сообщений из 10, страница 1 из 1
план запроса
    #34861775
Kru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ подскажите, в чём может быть проблема.
Сервер ASE 12.5

Есть запрос из 2х таблиц (в одной 85 тыс записей в другой 302 тыс)
Процедура нормально работает. План совершенно адекватный - везде используются индексы.
Та же самая процедура на другом сервере использует совершенно негодный план со сканированием таблицы.
Количество записей отличается несущественно (90 тыс и 325 тыс соответственно) -т.е. оно пропорционально.
Пробовал проапдейтить статистику (таблиц и индексов) - не помогло.

Как ещё можно повлиять на оптимизатор?

Заранее всем большое спасибо
...
Рейтинг: 0 / 0
план запроса
    #34861818
sn1251
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Версии:
1) после обновления статистики процедуру не пересоздали, или не выполнили sp_recompile для таблиц
2) индексы на втором сервере сильно фрагментированы - много строк было удалено+добавлено без последующего reorg или пересоздания индекса
3) настройки серверов отличаются
4) индексов на втором сервере вообще нет
...
Рейтинг: 0 / 0
план запроса
    #34862684
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sn1251 пишет:
> 2) индексы на втором сервере сильно фрагментированы - много строк было
> удалено+добавлено без последующего reorg или пересоздания индекса

Фрагментация индекса разве влияет на выбор плана ?
Что-то мне кажется что нет. И не такая это уж большая проблема.

> 4) индексов на втором сервере вообще нет

Вот это скорее всего. Или не сделали sp_recompile.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
план запроса
    #34862810
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kru пишет:
> Та же самая процедура на другом сервере использует совершенно негодный
> план со сканированием таблицы.

Может лучше показать таблицы, процедуру и планы ?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
план запроса
    #34863209
1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То, что фрагментация не влияет на план - это уж точно нет (влияет в смысле и сильно).
1. Для начала фрагментированный индекс занимает больше страниц
2. Уровень кластеризации и плотности падают и это учитывается оптимизатором естественно.

3. Процедурку-то пересоздавали или выполняли с with recompile после обновления статистики.
4. Статистику как обновляли?
5. 90 и 325 тыщ. - по моему это блее чем существенное отличие.
6. Сами планы сравнивали и статистику на этих двух серверах (optdiag ...)?
...
Рейтинг: 0 / 0
план запроса
    #34864011
Kru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1

3. Процедурку-то пересоздавали или выполняли с with recompile после обновления статистики.
4. Статистику как обновляли?
5. 90 и 325 тыщ. - по моему это блее чем существенное отличие.
6. Сами планы сравнивали и статистику на этих двух серверах (optdiag ...)?

3. Процедурку-то пересоздавали или выполняли с with recompile после обновления статистики.
>> Я работал с содержимым процедуры - это был запрос из 2х таблиц и сравнивал планы для этого запроса на 2х серверах
4. Статистику как обновляли?
>> update statistics table_name

update index statistics table_name

5. 90 и 325 тыщ. - по моему это блее чем существенное отличие.
>> не совсем так - на одном сервере 80 и 300 тыс на другом 90 и 325 тыс
т.е. 90 против 80 и 300 против 325 - для оптимизатора, кажется небольшая разница

6. Сами планы сравнивали и статистику на этих двух серверах (optdiag ...)?
>> Планы выводил (set showplan on) и сравнивал визуально. Optdiag не пользовался. Честно говоря про неё не знаю. Почитаю доку...

На самом деле запрос был криво написан и после исправления всё заработало нормально и планы стали тождественны.

Но, я думаю, что мой случай не единственный, когда планы на разных серверах отличаются и хочется понять как подобные ситуации диагностировать и лечить
...
Рейтинг: 0 / 0
план запроса
    #34864099
Kru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sn1251Версии:
1) после обновления статистики процедуру не пересоздали, или не выполнили sp_recompile для таблиц
2) индексы на втором сервере сильно фрагментированы - много строк было удалено+добавлено без последующего reorg или пересоздания индекса
3) настройки серверов отличаются
4) индексов на втором сервере вообще нет

1) после обновления статистики процедуру не пересоздали, или не выполнили sp_recompile для таблиц
>> Я сравнивал планы непосредственно запросов. sp_recompile для таблиц не делал.
2) индексы на втором сервере сильно фрагментированы - много строк было удалено+добавлено без последующего reorg или пересоздания индекса
>> Как проверить фрагментацию индексов?
reorg не делал. Но пробовал вообще пересоздать все индексы, причём на обоих серверах.

3) настройки серверов отличаются
>> Какие настройки нужно смотреть. Как лучше всего их посмотреть если есть доступ только через DBArtisan?

4) индексов на втором сервере вообще нет
>> Индексы есть
...
Рейтинг: 0 / 0
план запроса
    #34865144
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kru пишет:

> был криво написан и после исправления всё
> заработало нормально и планы стали тождественны.

> Но, я думаю, что мой случай не единственный, когда планы на разных
> серверах отличаются и хочется понять как подобные ситуации
> диагностировать и лечить

Это если неправильно написан запрос-то ? Конечно, твой случай не
единственный.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
план запроса
    #34866114
Kru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
Kru пишет:

> был криво написан и после исправления всё
> заработало нормально и планы стали тождественны.

> Но, я думаю, что мой случай не единственный, когда планы на разных
> серверах отличаются и хочется понять как подобные ситуации
> диагностировать и лечить

Это если неправильно написан запрос-то ? Конечно, твой случай не
единственный.
Posted via ActualForum NNTP Server 1.4

Я имею ввиду разные планы на один и тот же запрос : -)

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


SQL.RU здорово помогает

Всем огромное спасибо
...
Рейтинг: 0 / 0
план запроса
    #34882409
yourij_mw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kru
Но, я думаю, что мой случай не единственный, когда планы на разных серверах отличаются и хочется понять как подобные ситуации диагностировать и лечить

Руководство по настройке
производительности. Том 2.
Оптимизация и настройка
запросов и абстрактные планы. стр.784
помоему тут может быть ответ на ваш вопрос

Абстрактные планы предоставляют системным администраторам и спе-
циалистам по настройке производительности средства, предотвращающие
падение производительности сервера при изменении планов запросов.
Изменения в планах запросов могут происходить по следующим причинам:
• из-за обновлений программного обеспечения Adaptive Server, затра-
гивающих выбранные оптимизатором опции и планы запросов;
• появления новых возможностей Adaptive Server, изменяющих планы
запросов;
• изменения таких опций настройки, как степень параллелизма,
количество секций в таблицах или индексирование.
Основное назначение абстрактных планов – предоставление средств для
сохранения планов запросов до и после крупных изменений в системе.
Наборы планов запросов до и после изменений можно сравнить, чтобы
определить влияние изменений на запросы. Другие применения
абстрактных планов включают в себя:
• поиск определенных типов планов, например, сканирований или
переформатирований таблиц;
• поиск планов, использующих определенные индексы;
• указание полных или частичных планов для медленно выполняемых
запросов;
• сохранение планов для запросов, оптимизация которых занимает
много времени.
Абстрактные планы являются альтернативой опциям, которые должны
быть указаны в пакете или запросе, чтобы повлиять на решения оптими-
затора. С помощью абстрактных планов можно влиять на оптимизацию
SQL-оператора, не меняя его синтаксис. Хотя сопоставление текста запро-
са и хранимого текста требует некоторых вычислительных затрат, исполь-
зование хранимого плана снижает нагрузку, связанную с оптимизацией
запроса.
попробуйте посмотреть команды
plan dump / load
set plan {dump | load} [plan_group] {on | off}
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / план запроса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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