Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Тормозят временные таблицы / 11 сообщений из 11, страница 1 из 1
05.10.2010, 15:12
    #36882680
W357
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тормозят временные таблицы
ASE 15

Отчего временные таблицы тормозят, т.е. не используют индексы?
Тот же запрос с обычной таблицей - летает, а с временной - дикие тормоза!
При этом индексы созданы, в запросе прописаны.
Во временной всего 5 записей, она в запросе связана с обычной большой таблицей.
Если вместо временной написать конструкцию IN (val,val,...,val), то тоже летает.
Ну 5 вшивых записей, numeric поля, чему тут тормозить?
Никакие SET PLAN не помогают...

Главное раньше всё работало, потом что-то изменилось. У админов спрашивать безтолку, у них всё зашибись...

Раньше перешли с 12.5 на 15, временные начали тормозить, но стоило им создать индекс и всё опять бегает быстро, а теперь и с индексом затормозили.
Что это может быть?

Это в процедурах и при выполнении больших скриптов целиком.
А если скрипт выполнять вручную пошагово: create, insert, create index, select
то всё работает!
...
Рейтинг: 0 / 0
05.10.2010, 15:18
    #36882695
W357
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тормозят временные таблицы
При выполнении скрипта пишет:

Index 'RecAcc_indx' specified as optimizer hint in the FROM clause of table '#RecAcc' does not exist. Optimizer will choose another index instead.

Но другого индекса там нет, и всё висит...
...
Рейтинг: 0 / 0
05.10.2010, 16:47
    #36883017
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тормозят временные таблицы
W357,

перекомпилите процедуру
...
Рейтинг: 0 / 0
05.10.2010, 17:04
    #36883095
W357
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тормозят временные таблицы
А скрипт то я сейчас выполняю, почему в нём индексы не создаются?
...
Рейтинг: 0 / 0
05.10.2010, 17:12
    #36883116
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тормозят временные таблицы
W357А скрипт то я сейчас выполняю, почему в нём индексы не создаются?

раздели стейтменты создания посредством GO
...
Рейтинг: 0 / 0
05.10.2010, 17:23
    #36883145
W357
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тормозят временные таблицы
перекомпил процедуры не помогает...
...
Рейтинг: 0 / 0
05.10.2010, 17:36
    #36883179
kolchanov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тормозят временные таблицы
Насколько я помню по 12 ase, для хинтов на использование индекса во временных таблицах нужно указывать не имя индекса, а его номер. (index 1), к примеру.
Этот номер можно получить из sysindexes.
Возможно, для 15-го не изменилось.

Проверить не могу, не на чем.
...
Рейтинг: 0 / 0
05.10.2010, 19:53
    #36883435
W357
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тормозят временные таблицы
Решилась проблема.
В той процедуре был цикл, и таблица заполнялась в цикле, каждый раз чистилась и вновь заполнялась. Индекс создавался снаружи цикла, до заполнения таблицы, поэтому он и не создавался... идиотская оптимизация сайбаса...
Тупо написал "инсерт #табле валюэс (1)" перед созданием индекса и заработало.
...
Рейтинг: 0 / 0
05.10.2010, 23:55
    #36883753
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тормозят временные таблицы
W357 wrote:

> В той процедуре был цикл, и таблица заполнялась в цикле, каждый раз
> чистилась и вновь заполнялась. Индекс создавался снаружи цикла, до
> заполнения таблицы, поэтому он и не создавался... идиотская оптимизация
> сайбаса...

Индекс-то не мог не создаваться. Другое дело, его оптимизатор не брал
потому как статистики не было. Т.е. была, но на пустую таблицу. А
по пустой таблице индекс бессмысллено использовать.

> Тупо написал "инсерт #табле валюэс (1)" перед созданием индекса и
> заработало.

Форсануть -то индекс по любому можно было бы. Дело не в том, что
он не создавался, а что оптимизатор его не брал в расчёт как
полезный.

Кстати, даже после наполнения временной таблицы не факт, что индекс
по временной таблице реально полезен. Если она самая внешняя
в запросе и по ней нет SARG-ов, то и никакого индекса особенно
не нужно.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
06.10.2010, 07:24
    #36883867
W357
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тормозят временные таблицы
По моему, глупо не брать в расчёт индекс по единственному полю в таблице, если других индексов вовсе нет и без индексов дико тормозит. Это пожелания писателям оптимизатора.
...
Рейтинг: 0 / 0
07.10.2010, 10:25
    #36886301
cherrex_Den
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тормозят временные таблицы
W357По моему, глупо не брать в расчёт индекс по единственному полю в таблице, если других индексов вовсе нет и без индексов дико тормозит. Это пожелания писателям оптимизатора.

И совсем не глупо
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Тормозят временные таблицы / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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