Определение размера таблиц без данных (Oracle)

Моя проблема немного сложна, поэтому, пожалуйста, потерпите меня, когда я попытаюсь ее объяснить ^_^.

Я работаю над автоматическим созданием нескольких (большое количество) схем DW snowFlake из схемы ввода "звезда". С другой стороны, у меня есть набор запросов, которые меняются в зависимости от схемы, конечно.

Моя цель - рассчитать модель затрат для каждого запроса в каждой схеме, зная, что у меня есть только статистика о размерах таблиц, размерах строк, размерах систем страниц и т. Д. (Все параметры, необходимые для расчета модели затрат). если бы были данные, я мог бы использовать "план объяснения БД", чтобы сгенерировать "лучший" план каждого запроса, чтобы рассчитать модель затрат, и это сэкономит мне много времени:)

Но, к сожалению, у меня нет данных, и мне интересно, смогу ли я использовать "план объяснения", просто устанавливая параметры без данных, другими словами, определяя размер таблиц без данных. Возможно ли это на Oracle или любой другой СУБД?

Заранее спасибо.

PS: я мог бы просто задать вопрос: "Могу ли я установить размер таблиц в Oracle (или любой другой СУБД) (без данных), но я предпочел объяснить всю проблему, надеясь, что у меня будут альтернативные предложения.

1 ответ

Решение

Вы можете установить статистику для таблиц, даже если у них нет данных - тогда CBO будет использовать вашу статистику при создании планов выполнения.

http://docs.oracle.com/cd/E11882_01/server.112/e16638/stats.htm

Просто помните о динамической выборке (т.е., вероятно, необходимо отключить ее).

Другие вопросы по тегам