27.01.2010 01:16
YuraZ
 
Неоднократно встречался с высказываниями о том, что на временных таблицах не должна быть посчитана статистика. Но из моего опыта я вижу, что при массовых добавлениях/обновлениях временной таблицы, действительно скорость значительно падает. Но в то же время, если необходимо, в дальнейшем, из этой временной таблицы не просто отбирать данные, а каким-то образом их структурировать/группировать/сортировать и т.д., то без собранной статистики работает крайне медленно. И тут именно рассчитанная статистика очень помогает. Хотелось бы услышать комментарии форумчан. Ну и ссылки так же приветствуются :)
27.01.2010 07:01
OlegON
 
На бегу, поэтому вкратце. Суть статистики в данном случае - влияние на план запроса при известных размерах и других характеристиках (например, кардинальность) таблиц и индексов. Поэтому, если ты заранее знаешь о регулярном использовании временной таблицы в нужном тебе разрезе - втыкай подсказки. Если это вообще исключительно твоя таблица (только в твоей базе), то и установить самому нужную статистику можно.
27.01.2010 23:36
YuraZ
 
Цитата:
OlegON На бегу, поэтому вкратце. Суть статистики в данном случае - влияние на план запроса при известных размерах и других характеристиках (например, кардинальность) таблиц и индексов. Поэтому, если ты заранее знаешь о регулярном использовании временной таблицы в нужном тебе разрезе - втыкай подсказки. Если это вообще исключительно твоя таблица (только в твоей базе), то и установить самому нужную статистику можно.
Это понятно, но у Тома все несколько сложнее. При одном и том же запросе, строятся разные планы. Как говорится, читаю матчасть и курю Гугл :)
28.01.2010 06:49
OlegON
 
Если это понятно, тогда что не понятно? Статистику по временным собирать не надо. Оптимайзер по умолчанию ее снимает. Кстати, внимательно смотри, про какую версию Том пишет. Все течет и многое меняется.
28.01.2010 10:22
kadr
 
Цитата:
OlegON Если это понятно, тогда что не понятно? Статистику по временным собирать не надо. Оптимайзер по умолчанию ее снимает. Кстати, внимательно смотри, про какую версию Том пишет. Все течет и многое меняется.
Ага и параметр за это отвечающий вроде называется optimizer_dynamic_sampling, он конечно не именно по временным таблицам работает, но если на них нет статистики, то Оракл оценивает перед построением плана
Часовой пояс GMT +3, время: 18:39.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.