根据服务器上运行的查询查找要索引的列

Posted

技术标签:

【中文标题】根据服务器上运行的查询查找要索引的列【英文标题】:Finding columns to be indexed based on the queries run on the server 【发布时间】:2015-02-04 09:57:51 【问题描述】:

是否有可能跟踪 SQL 服务器上每个表中最常用的列?

目的是,一个查询建议一些列被索引;基于在服务器上运行的查询对列的使用情况

提前致谢

【问题讨论】:

找到你的most expensive queries,在管理工作室和show the execution plan中单独运行它们并寻找suggested/missing indexes 【参考方案1】:

首先,最常用的列和索引之间没有直接关系。该列可以经常使用,但如果它的选择性较差,则索引将无用。

您可以使用Database Tuning Advisor 来获得最佳索引集。

【讨论】:

以上是关于根据服务器上运行的查询查找要索引的列的主要内容,如果未能解决你的问题,请参考以下文章

14INDEX索引(上)

一般在写SQL时需要注意哪些问题,可以提高查询的效率

如何提高sqlite3的访问效率

使用SQL查询中索引之外的列进行密钥查找

MySQL索引

MySQL索引