这样的数据库有多大?

时间:2008-08-14 13:57:20

标签: database oracle

我正在试图弄清楚某个数据库有多大(它尚未创建)。我知道有多少行和表是什么。 Oracle中是否有一个功能可以告诉我这样一个理论数据库的大小?我可以使用已知的数学公式吗?我知道有一个功能可以确定现有数据库的大小,但我想知道在创建之前它有多大。

5 个答案:

答案 0 :(得分:7)

您可以尝试对设计进行原型设计 - 创建数据库的初始版本并编写一些脚本(或使用工具)以使用合理数量的数据填充表格。然后你就会知道X行占用了多少空间。如果它太多了,你可以用你的设计回到绘图板。我知道你在创建数据库之前需要一个数字,但是你永远无法解释所有与物理数据文件一起发生的事情。

答案 1 :(得分:5)

您可以从表中列的数据类型的大小。然后,您可以粗略估计该表中行的大小。然后是1到n个表,然后是1个表中的1行x表中的x行=估计给定行大小的数据库。

我知道这很长,但这就是我通常这样做的方式。

答案 2 :(得分:1)

准确地说,这可能变得非常复杂。例如,这是在MS SQL Server上执行此操作的方法:

http://msdn.microsoft.com/en-us/library/aa933068(SQL.80).aspx

答案 3 :(得分:1)

您还需要在估算中包含索引。我见过索引和数据一样大的系统。我相信答案的唯一方法就是像Eric Z Beard所做的那样进行原型设计。不同的数据库系统有不同的开销,但它们都有它。

答案 4 :(得分:0)

确切的尺寸并不太重要,所以我选择了littlegeek的方法。我想出了我的表格和列是什么,looked up the sizes of the data types,然后做了一些好的'ole倍增。