Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Сбор статистики  [new]
Надоли
Guest
Уже больше года таблички в отдельной схеме наполняются данными.
Сейчас порядка 200Гб, 100-ни млн записей.
К табличкам идут фиксированные запросы (то есть фиксированный набор запросов без динамики и тп),
под каждый запрос построен необходимый индекс.
По скорости работает удовлетворительно.

Но, за все время в схеме ни разу не собиралась статистика.
Понятно, что она нужна для оптимизатора, но вроде он итак понимает какие индексы использовать.

Вопрос. Стоит ли ее все-таки собрать? )
16 дек 16, 10:50    [20010388]     Ответить | Цитировать Сообщить модератору
 Re: Сбор статистики  [new]
trace.log
Guest
Надоли,

а что мешает попробовать собрать и проверить??
16 дек 16, 11:05    [20010481]     Ответить | Цитировать Сообщить модератору
 Re: Сбор статистики  [new]
Добрый Э - Эх
Guest
Надоли,

откуда уверенность, что статистика ни раз не собиралась?
16 дек 16, 11:06    [20010486]     Ответить | Цитировать Сообщить модератору
 Re: Сбор статистики  [new]
Надоли
Guest
trace.log
а что мешает попробовать собрать и проверить?

Так а что и как проверять? )
Добрый Э - Эх
откуда уверенность, что статистика ни раз не собиралась?

Ну как-то так:
SQL> SELECT DISTINCT global_stats, user_stats
  2    From user_tab_statistics
  3  /
 
GLOBAL_STATS USER_STATS
------------ ----------
NO           NO

SQL> SELECT DISTINCT table_name
  2    From user_tab_col_statistics
  3  /
 
TABLE_NAME
------------------------------

Оно? )
16 дек 16, 11:16    [20010536]     Ответить | Цитировать Сообщить модератору
 Re: Сбор статистики  [new]
trace.log
Guest
Надоли,

EXEC dbms_stats.gather_table_stats('SCOTT','TABLE',cascade=>TRUE);
EXEC dbms_stats.gather_schema_stats('SCOTT', cascade=>TRUE);


хотя бы так.
16 дек 16, 11:39    [20010719]     Ответить | Цитировать Сообщить модератору
 Re: Сбор статистики  [new]
Надоли
Guest
trace.log
хотя бы так

Имею в виду, как и что проверить/сравнить до и после сбора статистики (сейчас вроде проблем нет, все нормально работает).
То есть как понять, что ее сбор, что-то улучшил? )
16 дек 16, 11:44    [20010769]     Ответить | Цитировать Сообщить модератору
 Re: Сбор статистики  [new]
тынц.
Guest
Надоли
...По скорости работает удовлетворительно.
Вопрос. Стоит ли ее все-таки собрать? )

"работает - не трогай"
16 дек 16, 11:45    [20010777]     Ответить | Цитировать Сообщить модератору
 Re: Сбор статистики  [new]
trace.log
Guest
тынц.
Надоли
...По скорости работает удовлетворительно.
Вопрос. Стоит ли ее все-таки собрать? )

"работает - не трогай"


+1
16 дек 16, 11:48    [20010809]     Ответить | Цитировать Сообщить модератору
 Re: Сбор статистики  [new]
ORA__SQL
Member

Откуда: Moscow
Сообщений: 1774
trace.log
Надоли,
EXEC dbms_stats.gather_table_stats('SCOTT','TABLE',cascade=>TRUE);
EXEC dbms_stats.gather_schema_stats('SCOTT', cascade=>TRUE);

хотя бы так.
А вот так и не надо. Насобираете гистограмм и кирдык
16 дек 16, 11:50    [20010828]     Ответить | Цитировать Сообщить модератору
 Re: Сбор статистики  [new]
trace.log
Guest
Надоли
trace.log
хотя бы так

Имею в виду, как и что проверить/сравнить до и после сбора статистики (сейчас вроде проблем нет, все нормально работает).
То есть как понять, что ее сбор, что-то улучшил? )


версия?
16 дек 16, 11:53    [20010851]     Ответить | Цитировать Сообщить модератору
 Re: Сбор статистики  [new]
trace.log
Guest
ORA__SQL
trace.log
Надоли,
EXEC dbms_stats.gather_table_stats('SCOTT','TABLE',cascade=>TRUE);
EXEC dbms_stats.gather_schema_stats('SCOTT', cascade=>TRUE);

хотя бы так.
А вот так и не надо. Насобираете гистограмм и кирдык


это как пример, а вообще вариантов множество как собирать.
16 дек 16, 11:55    [20010866]     Ответить | Цитировать Сообщить модератору
 Re: Сбор статистики  [new]
Надоли
Guest
тынц.
"работает - не трогай"

Это само собой, но интересно же, когда все работает, скучно :)
trace.log
версия?

11.2
ORA__SQL
А вот так и не надо. Насобираете гистограмм и кирдык

Вот. Это интересно. То есть сбором статистики можно и ухудшить? )
Правильно понимаю, что например те же гистограммы нет смысла собирать, если распределение значений в поле равномерное?
И как может повлиять их сбор при отсутствии необходимости? Долгий разбор запросов?
16 дек 16, 12:12    [20011023]     Ответить | Цитировать Сообщить модератору
 Re: Сбор статистики  [new]
ORA__SQL
Member

Откуда: Moscow
Сообщений: 1774
Надоли
ORA__SQL
А вот так и не надо. Насобираете гистограмм и кирдык

Вот. Это интересно. То есть сбором статистики можно и ухудшить? )
Правильно понимаю, что например те же гистограммы нет смысла собирать, если распределение значений в поле равномерное?
И как может повлиять их сбор при отсутствии необходимости? Долгий разбор запросов?
Если собрать, не понимая, что собираем - то можно и сломать
Гистограммы собирать только, когда выполняются запросы с литералами (преимущественно в DWH),
в остальных случаях это мина замедленного действия
16 дек 16, 12:25    [20011149]     Ответить | Цитировать Сообщить модератору
 Re: Сбор статистики  [new]
Надоли
Guest
ORA__SQL, пока есть желание собрать более менее безобидно (просто для порядка, а то как же так-то без статистики))
ANALYZE TABLE [table_name] ESTIMATE STATISTICS FOR ALL COLUMNS FOR ALL INDEXES;

Но не в курсе, может это уже устарело и надо юзать только dbms_stats.
16 дек 16, 13:05    [20011487]     Ответить | Цитировать Сообщить модератору
 Re: Сбор статистики  [new]
ORA__SQL
Member

Откуда: Moscow
Сообщений: 1774
Надоли
ORA__SQL, пока есть желание собрать более менее безобидно (просто для порядка, а то как же так-то без статистики))
ANALYZE TABLE [table_name] ESTIMATE STATISTICS FOR ALL COLUMNS FOR ALL INDEXES;

Но не в курсе, может это уже устарело и надо юзать только dbms_stats.

https://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:4347359891525
16 дек 16, 13:12    [20011543]     Ответить | Цитировать Сообщить модератору
 Re: Сбор статистики  [new]
Надоли
Guest
ORA__SQL, спасибо.
Most importantly, in the future, ANALYZE will not collect statistics needed by the cost-based optimizer

Значит смотреть dbms_stats )
16 дек 16, 13:28    [20011676]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить