技术开发 频道

巧妙使用SQL SERVER索引 调优SQL语句

  消息:

  表 'employee'。扫描计数 1,逻辑读取 3 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。

  使用索引后逻辑读取3次,没有使用索引是371次,IN 很好的使用了索引!

  下面我们来测试下 LIKE 是否很好的使用索引

  删除索引

DROP INDEX employee.Idx_emp_username

   打开IO 信息

SET STATISTICS IO ON

   执行查询

SELECT * FROM employee WHERE  employee.emp_username like   ('刘1000%')

1
 

   消息:

  表 'employee'。扫描计数 1,逻辑读取 371 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。

  添加索引

CREATE CLUSTERED INDEX Idx_emp_username ON employee (emp_username);
SET STATISTICS IO ON
SELECT * FROM employee WHERE employee.emp_username  like  ( '刘1000%');



1
 

   表 'employee'。扫描计数 1,逻辑读取 3 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。

  网上很多优化的文章写到查询不要使用 in like left ,其实自己动手测试下看看查询计划就一幕了然了

0
相关文章