![]() |
1
25
索引视图将导致与列上的索引相同的问题,因为索引视图需要
我的建议是设置一个存储过程或SSIS包,它将为您创建一个每小时运行一次的报告表。这样,你就可以从中找到爱的地狱,享受它所带来的所有性能优势。我不愿从一个实时的、正在进行的系统中报告。实际上,我还没有看到有必要这样做的情况。出于报告的目的,一小时前的信息通常完全足以完成工作。 |
![]() |
2
3
我认为它仍然会影响性能,因为具体化视图上的索引需要在某个时间点进行更新——但它可能不需要与表写入同步。 就我个人而言,我会把索引放在表上,并自己测量写性能。你可以猜测索引的写入速度会有多慢,但在你真正测量它之前,你只是在猜测。这可能根本不会有什么明显的区别。 |
![]() |
3
3
在varchar()列上搜索子字符串时,SQL Server不会使用任何索引。(即使复制表并创建索引) 如果在搜索字符串的开头使用了通配符,则不会使用索引。 我想,如果需要在“source”和“description”中搜索子字符串,最好创建一个全文索引。 所以我的建议是在varchar()列上创建一个全文索引,并手动进行更改跟踪,并且在没有dml的情况下大约每小时运行一次。这将减少INSERT语句的负载 |
![]() |
4
1
如果你经常写信给别人,就不会这样了,因为在你的物化视图中,索引的性能成本是你的。物化视图更多地用于不经常更改的数据。 |
![]() |
5
1
我也遇到了类似的问题。决定根据DBA的建议添加多列索引。在我的开发机器和服务器上(具有DBA权限),写入和报告的性能比在单个列上创建索引快得多(17倍)。为什么,我不知道,因为我不是DBA,但我知道基础知识,有时这有助于你看穿森林/树木。因此,我同意EricPertroelje的观点,您必须添加索引并测量写入性能,甚至测量读取性能。 |
![]() |
Community wiki · SQL语法新手 1 年前 |
![]() |
KateMak · 是否将多行中的多列与唯一id组合? 1 年前 |
![]() |
Karuna · SQL中列内的筛选器[重复] 1 年前 |
![]() |
Irvan Affandy · 为另一个选择选择声明的键 1 年前 |
![]() |
Community wiki · 这个MySQL语句出了什么问题? 1 年前 |
![]() |
Community wiki · 优化从同一表中提取的多列的查询 1 年前 |