定义没有数据的表的大小(Oracle)

时间:2013-05-29 22:54:40

标签: sql database oracle data-warehouse cost-based-optimizer

我的问题有点复杂,所以当我尝试解释时请耐心等待^ _ ^。

我从星型模式输入中自动生成几个(大量)DW snowFlake模式。另一方面,我有一组查询,根据当然的模式进行更改。

我的目的是计算每个模式的每个查询的成本模型,知道我只有关于表大小,行大小,页面系统大小等的统计信息(计算成本模型所需的所有参数)。如果有数据,我可以使用“dbms的解释计划”来生成每个查询的“最佳”计划,以便计算成本模型,这将为我节省大量时间:)

但不幸的是,我没有数据,我想知道我是否可以使用“解释计划”,只需设置没有数据的参数,换句话说,定义没有数据的表的大小。是否可以在Oracle或任何其他DBMS上使用

提前致谢。

PS:我可以问一下这个问题:“我可以在oracle(或任何其他DBMS)中设置表的大小(没有数据),但我更愿意解释整个问题,希望我能有其他选择提案。

1 个答案:

答案 0 :(得分:2)

即使没有数据,您也可以设置表的统计信息 - 然后CBO将在生成执行计划时使用您的统计信息。

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

请注意动态采样(即可能需要将其关闭)。