代码之家  ›  专栏  ›  技术社区  ›  bpapa

这样的数据库有多大?

  •  4
  • bpapa  · 技术社区  · 16 年前

    我想知道某个数据库有多大(还没有创建)。我知道有多少行,表格是什么。Oracle有没有一个特性可以告诉我这样一个理论数据库的大小?我能用一个已知的数学公式吗?我知道有一个特性可以确定现有数据库的大小,但我想在创建它之前知道它有多大。

    5 回复  |  直到 12 年前
        1
  •  5
  •   littlegeek    16 年前

    您可以从表中列的数据类型大小中选择。然后可以粗略估计该表中的行的大小。然后对于1到n个表,对于1个表中的1行,对于x个表中的x行,则为给定行大小的数据库估计值。

    我知道,但这是我通常的做法。

        2
  •  7
  •   Eric Z Beard    16 年前

    您可以尝试原型化您的设计——创建数据库的初始版本,并编写一些脚本(或使用工具)来用合理数量的数据填充表。然后您将确定X行占用了多少空间。如果太多,你可以用你的设计回到画板上。我知道在创建数据库之前你需要一个数字,但是你永远无法解释引擎盖下的物理数据文件所发生的一切。

        3
  •  1
  •   Stu    16 年前

    准确地说,这可能会变得非常复杂。例如,您可以在MS SQL Server上这样做:

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

        4
  •  1
  •   bruceatk    16 年前

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

        5
  •  0
  •   bpapa    16 年前

    准确的尺寸并不重要,所以我采用了利特列克的方法。我知道我的表和列是什么,以及 looked up the sizes of the data types 然后做了一些很好的“OLE乘法”。