—在优化查询SQL语句,查看索引使用情况SQL语句:
select db_name(database_id) as N‘数据库名称‘,
object_name(a.object_id) as N‘表名‘,
b.name N‘索引名称‘,
user_seeks N‘用户索引查找次数‘,
user_scans N‘用户索引扫描次数‘,
last_user_seek N‘最后查找时间‘,
last_user_scan N‘最后扫描时间‘,
rows as N‘表中的行数‘
from sys.dm_db_index_usage_stats a ...
1. 非聚集索引SET STATISTICS io ON
SET STATISTICS time ON -- 1. 没有索引(logical reads 568)
SELECT FirstName, LastName FROM dbo.Contact WHERE LastName LIKE ‘S%‘ -- 创建非聚集索引
IF EXISTS (SELECT * FROM sys.indexes WHERE OBJECT_ID = OBJECT_ID(‘Person.Contact‘) AND name = ‘FullName‘)
DROP INDEX Person.Contact.FullName;
CREATE NONCLUSTERED INDEX FullName ON Person.Contact( LastName, FirstN...
索引并不是时时都会生效的,比如以下几种情况,将导致索引失效:如果条件中有or,即使其中有条件带索引也不会使用(这也是为什么尽量少用or的原因)注意:要想使用or,又想让索引生效,只能将or条件中的每个列都加上索引2.对于多列索引,不是使用的第一部分,则不会使用索引3.like查询是以%开头4.如果列类型是字符串,那一定要在条件中将数据使用引号引用起来,否则不使用索引show status like ‘Handler_read%’;大家可以注意:handl...