8 我使用的是报告数据库,出于所有实际目的,该数据库是只读数据库。在此数据库上创建数据并生成并查看动态报告。 我当时正在考虑将此数据库设为只读。 关于只读数据库,我想问的一些问题是 仅数据是只读的吗?我们仍然可以在该数据库上创建索引或视图吗? 使用只读数据库的性能优势是什么?例如使用共享锁的SELECT查询,等等。 使用只读数据库有什么缺点吗? 使用只读数据库时,有什么最佳实践可遵循? sql-server — 小丑 source
16 当数据库为只读时,您无法进行模式更改,但可以将所有用户表放在一个新的文件组上,并将其标记为只读。 您可以期望没有锁定会带来适度的性能优势。 在2012年之前的SQL Server版本上,无法在只读数据库上自动创建或更新统计信息。 在将其设为只读之前,您最好删除所有逻辑碎片,并使页面密度尽可能高。FILL_FACTOR在只读环境中,任何非默认设置都不会有帮助。此外,SELECT如果版本小于2012,则创建/更新任何预期将用于查询的统计信息。 — 马丁·史密斯 source 1和4,好主意。 — Mark Storey-Smith,
9 整个数据库是只读的,因此您无法添加索引或视图。 不需要锁定,因此除了共享数据库锁定外,任何查询都不会获取任何锁定。显然意味着也不会发生阻塞。 不是这样的。 我没有建议。 — 马克·斯托里·史密斯 source