【发布时间】:2016-04-23 00:23:00
【问题描述】:
我正在尝试估计 SQL Server 2008 R2 的数据库大小。我有一个表,其中包含一个 INTEGER 主键和 39 个 VARCHAR(MAX) 类型的文本列。
我已经搜索并找到了两个语句。
- 一个表每行最多可以包含 8,060 个字节。
-
Varchar(max)的最大存储容量为 2 GB。
我很困惑估计大小。如果行有限制,如何在每列中存储 2 GB?
我不是数据库专家,可能我没有正确理解它。
谁能解释一下如何估算?
谢谢
【问题讨论】:
-
你看过这个链接stackoverflow.com/questions/7892334/…我希望对你有帮助。
-
您想获得当前的大小,还是想知道在添加一定数量的行后它可以有多大?
-
像
VARCHAR(MAX)或VARBINARY(MAX)这样的“大”数据类型的处理方式与其他数据类型不同。由于它们最多可以拥有 2 GB 的数据,因此它们最终可能会跨越大量“溢出”页面。在这种情况下,它们将在“基本”数据页面上占用一定数量的存储空间(它记录在某处 - 现在不知道),而int、datetime等的其他列占用基本页面上的固定存储量 -
@srutzky 我想知道它有多大。
-
取决于列要存储的内容。一行可以存储 140 字节,而另一行可以存储 78 GB,具体取决于数据。
标签: sql-server sql-server-2008