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

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

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

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

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

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

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


person Selma    schedule 29.05.2013    source источник


Ответы (1)


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

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

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

person Jeffrey Kemp    schedule 30.05.2013
comment
Спасибо за помощь. Действительно, я должен отключить динамическую выборку. - person Selma; 03.06.2013