Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 定义无数据表的大小(Oracle)_Sql_Database_Oracle_Data Warehouse_Cost Based Optimizer - Fatal编程技术网

Sql 定义无数据表的大小(Oracle)

Sql 定义无数据表的大小(Oracle),sql,database,oracle,data-warehouse,cost-based-optimizer,Sql,Database,Oracle,Data Warehouse,Cost Based Optimizer,我的问题有点复杂,所以当我试图解释它时,请耐心听我说 我致力于从星型模式输入自动生成几个(大量)DW雪花模式。另一方面,我有一组查询,它们当然会根据模式而变化 我的目的是计算每个模式上每个查询的成本模型,因为我只有关于表大小、行大小、页面系统大小等的统计信息(计算成本模型所需的所有参数)。如果有数据,我可以使用“dbms的explan计划”生成每个查询的“最佳”计划,以便计算成本模型,这将节省我很多时间:) 但不幸的是,我没有数据,我想知道我是否可以使用“解释计划”,仅仅通过设置没有数据的参数,

我的问题有点复杂,所以当我试图解释它时,请耐心听我说

我致力于从星型模式输入自动生成几个(大量)DW雪花模式。另一方面,我有一组查询,它们当然会根据模式而变化

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

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

提前谢谢


附言:我可以问一个问题:“我可以在oracle(或任何其他DBMS)中设置表的大小(没有数据)吗?”,但我更愿意解释整个问题,希望我能有其他建议。

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


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

谢谢您的帮助。事实上,我必须关闭动态采样。