我们的应用程序在其SQL Server数据库中有数百个表。现在我们想让用户为某些区域编写查询并检索数据。由于当前的数据库体系结构过于复杂,我计划创建一组简化的索引视图,并将这些视图公开给用户以针对它们编写查询。
表格中的数据经常变化。是否可以对此类表使用索引视图?我不想让这个功能成为当前功能的开销。
您能预见到此程序有任何问题吗?
谢谢!
答案 0 :(得分:1)
任何索引视图都会在插入/更新表时增加性能开销(插入/更新的数据也必须持久保存到索引视图中)。根据您对您的需求的描述,我将从常规视图开始,并且只考虑索引视图,如果这些用户编写的查询的性能保证它。
答案 1 :(得分:0)
我使用一些索引和非聚集索引视图测试了我的数据库。具有聚簇索引的视图使下表中的更新/删除操作变慢。但这种情况发生在毫秒范围内。我理解这取决于复杂性,但这是我在我的场景中观察到的。
我运行了更新查询,更新了15000条记录。
带索引视图 - 550ms -650ms
没有聚集索引 - 250ms - 280ms
我们的数据库每分钟没有100次保存。所以我认为索引视图适合我们的情况。
谢谢!