只读SQL Server中的数据库和索引碎片

时间:2010-09-08 15:56:34

标签: sql sql-server database sql-server-2008 indexing

我的应用程序使用了许多只读数据库alter database [ReferenceData] set READ_ONLY,并且想知道我可以调整哪些类型的内容以获得最佳性能?

到目前为止,我想出了以下目标:

  • 强制索引中的填充为100%填充因子
  • 指数分割小于10%
  • 如果空间不是问题,请查看DMV并添加与推荐的
  • 一样多的INCLUDED列

这些有意义吗?我应该调整更多的东西来实现最高效率吗?

我在Windows 2008上运行SQL Server 2008

2 个答案:

答案 0 :(得分:1)

这可能听起来很明显,但你并没有直截了当地说你已经在你的问题中这样做了所以我会提到它:

  1. 您确定所有正确的索引吗? 到位了吗?你可能会跑 探查器/ DTA对数据库,看看是否 有任何可能的领域 通过创建新的潜在改进 索引。
  2. 你的演出有没有调整过 使用只读数据库的查询? 世界上所有的指数都没有 如果你的写得不好,那就重要了 查询。

答案 1 :(得分:0)

ALTER DATABASE MyDatabase
SET READ_ONLY

将数据库设置为不可修改的状态。据推测,那里有一些优化,但我不确定。

您还可以将默认事务级别设置为READ UNCOMMITTED,以获得每个会话的最大读取性能。假设您将数据库设置为只读模式,但这已经发生了。

编辑:跨越this article,了解如何准备数据库以使其成为只读状态。