Определение размера таблиц без данных (Oracle)
Моя проблема немного сложна, поэтому, пожалуйста, потерпите меня, когда я попытаюсь ее объяснить ^_^.
Я работаю над автоматическим созданием нескольких (большое количество) схем DW snowFlake из схемы ввода "звезда". С другой стороны, у меня есть набор запросов, которые меняются в зависимости от схемы, конечно.
Моя цель - рассчитать модель затрат для каждого запроса в каждой схеме, зная, что у меня есть только статистика о размерах таблиц, размерах строк, размерах систем страниц и т. Д. (Все параметры, необходимые для расчета модели затрат). если бы были данные, я мог бы использовать "план объяснения БД", чтобы сгенерировать "лучший" план каждого запроса, чтобы рассчитать модель затрат, и это сэкономит мне много времени:)
Но, к сожалению, у меня нет данных, и мне интересно, смогу ли я использовать "план объяснения", просто устанавливая параметры без данных, другими словами, определяя размер таблиц без данных. Возможно ли это на Oracle или любой другой СУБД?
Заранее спасибо.
PS: я мог бы просто задать вопрос: "Могу ли я установить размер таблиц в Oracle (или любой другой СУБД) (без данных), но я предпочел объяснить всю проблему, надеясь, что у меня будут альтернативные предложения.
1 ответ
Вы можете установить статистику для таблиц, даже если у них нет данных - тогда CBO будет использовать вашу статистику при создании планов выполнения.
http://docs.oracle.com/cd/E11882_01/server.112/e16638/stats.htm
Просто помните о динамической выборке (т.е., вероятно, необходимо отключить ее).