【问题标题】:Do indexes count towards the 10gb database size limit on SQL Server Express?索引是否计入 SQL Server Express 上的 10gb 数据库大小限制?
【发布时间】:2013-01-22 07:07:49
【问题描述】:

我正在开发一个使用 SQL Server Express 数据库的项目,该数据库已经相当大,而且我知道索引特定列/表可能会占用相当多的空间。

我不知道索引使用的空间是否计入数据库的总大小限制。如果有人有任何见解,请告诉我。

【问题讨论】:

  • 对于 10 GB 的数据库,您确定 sql-express 是正确的工具吗?
  • 是的,索引很重要。事实上,所有实际存储在数据库中的 .MDF 文件都很重要。
  • @BenjaminGruenbaum 你推荐什么?我没有时间重构从数据库运行的服务以使用不同的数据库引擎。 MS SQL 的完整许可可能超出了项目的预算,因此也不太可能实现。
  • 可以购买SqlServer 2008,不必购买最新版本。

标签: sql tsql indexing sql-server-express


【解决方案1】:

relational data 计入限制。这实际上包括索引,但不包括 FILESTREAM 数据。

full list of limitations can be found on MSDN。这包括关于关系数据的注释。

【讨论】:

  • 索引不使用 FILESTREAM 列。您链接的网站也没有这样说。关系数据上的索引绝对算作关系数据本身。
  • 抱歉,全文索引使用 FILESTREAM。
【解决方案2】:

限制实际上是针对数据库的 MDF 文件的大小,所以是的,它将包括您的索引以及其他数据库对象,如 SQLCLR 代码等。从 SQL Server 2008 开始,全文索引也是数据库,因此它们将计入限制。

Steve 提到的 FILESTREAM 数据类型中存储的数据被排除在外,因为 FILESTREAM 数据存储在单独的文件中,而不是 MDF 文件中。

【讨论】:

    【解决方案3】:

    我已经详细写了blogpost 关于 SQL Express 中的 10GB 大小限制以及如何尝试将数据库大小保持在限制以下。正如上述答案中的其他人所提到的,索引确实会增加数据库的大小。

    查看我的博文和标准 SQL Server 报告(可从 SQL Server Management Studio 获得)以了解索引的大小。如果您使用大量索引,它们可能会很大。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多