日期:2014-05-17  浏览次数:20506 次

关于sqlserver 索引的问题(高分)
目前数据库是sqlserver2008 

我想问的是数据库功能方面,是否有根据应用程序对数据库访问的查询。来记录应该做哪些索引??

比如,一个表,我前段程序需要对它进行一个查询,而我没针对这个查询做过索引。

那数据库总是被这样的查询访问,是否会有个地方记录??

来提示应该优化哪些部分。。


如果有,应该如果操作??

------解决方案--------------------
有的

打开“活动与监视器”,看“最近耗费大量资源的查询”就能看到没有索引的查询
------解决方案--------------------
SQL Server 2008的性能工具里面有个叫做数据库引擎优化顾问的程序,你打开那个然后将你的程序在业务正常的情况下跑1到两天他会自动给你检索那些没有加索引,那些统计过期了,这个是最简单方便的。他还可以直接给你写出创建语句来。
------解决方案--------------------
數據庫是可以直接選取出來,數據庫推薦的哪些列需要建立索引,一定期間內查詢用到次數多少,但一時想不起來怎麼取的了
------解决方案--------------------
探讨
目前数据库是sqlserver2008

我想问的是数据库功能方面,是否有根据应用程序对数据库访问的查询。来记录应该做哪些索引??

比如,一个表,我前段程序需要对它进行一个查询,而我没针对这个查询做过索引。

那数据库总是被这样的查询访问,是否会有个地方记录??

来提示应该优化哪些部分。。


如果有,应该如果操作??

------解决方案--------------------
Profiler trace 一下比较慢的语句,然后分析一下语句 看是否合适建索引

数据库引擎优化顾问好像会自动生成索引语句,但是生成的不是特别可靠

另外你可以删除一些使用率很低的索引。
------解决方案--------------------
探讨
有的

打开“活动与监视器”,看“最近耗费大量资源的查询”就能看到没有索引的查询

------解决方案--------------------
嗯,这方面的自动优化提示,mssql是比较好
------解决方案--------------------
Profiler trace 一下比较慢的语句,然后分析一下语句 看是否合适建索引

数据库引擎优化顾问好像会自动生成索引语句,但是生成的不是特别可靠

另外你可以删除一些使用率很低的索引。