sql - 在 SQL 中的表或视图上添加索引
问题描述
我有一张包含大约 50 万条记录的表格,每天都会更新/插入。我需要添加一些索引以使我的查询更快。是否建议将它们添加到表本身或该表的视图上?在获取数据并将其显示在网站上时,我的所有查询都在视图上。
解决方案
即使您正在创建索引视图,性能也会因基表上的常规插入/更新操作而受到影响,因为索引也需要更新,因此需要衡量在创建索引视图后您看到多少性能增益和基表上的插入/更新操作会降低多少性能。
我在下面引用 SQL Server 官方文档
“在由大量索引视图或较少但非常复杂的索引视图引用的表上执行 DML 时,这些引用的索引视图也必须更新。因此,DML 查询性能可能会显着下降,或者在某些情况下在这种情况下,甚至无法生成查询计划。在这种情况下,在生产使用之前测试您的 DML 查询,分析查询计划并调整/简化 DML 语句。
推荐阅读
- javascript - 在一个循环中编写的 2 for 循环的时间复杂度是多少
- docker - Docker 镜像托管在我们自己服务器的私有存储库中
- r - 在渲染 3d 绘图图像时看不到任何绘图
- typescript - 如何让 TS 编译器知道未知变量具有某些属性(不使用 `any` 类型)
- c++ - clang 中 regex_constants 的错误实现?
- windows - 自动热键快捷键重新映射 ^UP:: !UP
- angular - 允许选择值的输入的 Angular 指令
- reflection - 对类型成员的编译时反射
- json - 在 Flutter 中解析 JSON 日期
- jekyll - 我可以在前面使用草稿变量吗?