首页 > 解决方案 > 在 SQL 中的表或视图上添加索引

问题描述

我有一张包含大约 50 万条记录的表格,每天都会更新/插入。我需要添加一些索引以使我的查询更快。是否建议将它们添加到表本身或该表的视图上?在获取数据并将其显示在网站上时,我的所有查询都在视图上。

标签: sqlindexingdatabase-designview

解决方案


即使您正在创建索引视图,性能也会因基表上的常规插入/更新操作而受到影响,因为索引也需要更新,因此需要衡量在创建索引视图后您看到多少性能增益和基表上的插入/更新操作会降低多少性能。

我在下面引用 SQL Server 官方文档

“在由大量索引视图或较少但非常复杂的索引视图引用的表上执行 DML 时,这些引用的索引视图也必须更新。因此,DML 查询性能可能会显着下降,或者在某些情况下在这种情况下,甚至无法生成查询计划。在这种情况下,在生产使用之前测试您的 DML 查询,分析查询计划并调整/简化 DML 语句。


推荐阅读