2

我需要抓取 300 万份文档。它们都是textvarchar领域。对于示例,我刚刚抓取了 250 个文档,当我运行EXEC sp_spaceused它时,它给了我 26.6 MB 作为数据库大小。我想知道我们可以从中计算出存储 300 万份文档所需的大小吗?当然,这将是一个近似值。但问题是我们真的可以根据这个值进行计算吗?

4

3 回答 3

3

250 个文档对于 300 万个文档来说只是一个很小的样本。根据您在数据库中的其他内容,很难说这些 26.6 中有多少是由文档组成的。

我会说 26.6MB / 250 * 3000000 ~= 319GB 是一个上限假设您抓取的 250 个是具有代表性的样本,则对所有文档的数据库大小进行了高度估计。

于 2012-08-18T15:25:44.847 回答
2

基本上,是的,如果您希望样本具有代表性,您可以这样做。你能采样更多,比如 10 倍或 100 倍以上吗?

无论如何,也许您应该只考虑您创建的表的大小,因为只有那个大小会增加。

Database size = your tables + system objects + unused space (+ log size).

你只想测量“你的桌子”。

如果您使用的是企业版,请尝试打开压缩。但它不适用于 LOB 值。

于 2012-08-18T15:32:23.850 回答
0

假设日志已刷新(例如简单恢复模型,或查询前备份的数据库),您可以取此数字(即 MB)并将其乘以 12000。

要存储大型二进制文档和文本,请考虑使用 FILESTREAM(SQL Server 2008 及更高版本)。

于 2012-08-18T15:25:52.200 回答