Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / NUM_ROWS<>count(*) / 4 сообщений из 4, страница 1 из 1
26.01.2017, 13:32
    #39392048
Pavlon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NUM_ROWS<>count(*)
Пожалуйста, объясните, почему может не совпадать значение NUM_ROWS таблицы (или первичного индекса) с результатом запроса select count(*) from table;
У одной таблицы count(*)<>dba_tables.NUM_ROWS при этом count(*)=dba_indexes.NUM_ROWS, у другой наоборот -
count(*)<>dba_indexes.NUM_ROWS при этом count(*)=dba_tables.NUM_ROWS.
Сравнение производится при условии, что операции с таблицами не выполняются.

При чем разница между count(*) и "неправильным" значением NUM_ROWS не является постоянной величиной. "Неправильное" значение NUM_ROWS меняется всякий раз после сбора статистики. Статистика собирается через DBMS_STATS. Версия Oracle 10.2.0.5.
Что это? Проблема конкретных таблиц/индексов или баг Oracle?
...
Рейтинг: 0 / 0
26.01.2017, 13:36
    #39392056
dbms_photoshop
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NUM_ROWS<>count(*)
Pavlon,

estimate_percent?
...
Рейтинг: 0 / 0
26.01.2017, 13:40
    #39392058
Pavlon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NUM_ROWS<>count(*)
статистику собираю так
dbms_stats.gather_table_stats(ownname => 'OWNER', tabname => 'T1', method_opt => 'for all columns size 1', cascade => true);
...
Рейтинг: 0 / 0
26.01.2017, 15:05
    #39392130
Pavlon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NUM_ROWS<>count(*)
Да, estimate_percent стоит auto, на усмотрение oracle. Поставил 100, разница убралась.
Спасибо. Тему можно закрыть.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / NUM_ROWS<>count(*) / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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