>데이터 베이스 >MySQL 튜토리얼 > 模式匹配like %xxx%优化一例

模式匹配like %xxx%优化一例

WBOY
WBOY원래의
2016-06-07 17:41:171779검색

MySQL里likexxx%可以用到索引,但like%xxx%是不行的。mysqldescartist;+------------+-----------------------------------------------+------+-----+---------

MySQL里like 'xxx%'可以用到索引,但like '%xxx%'是不行的。

如这个例子:

现在来通过覆盖索引来进一步优化:

这里artist_id是主键(聚集索引),叶子节点上保存了数据(InnoDB引擎),select的artist_id列从索引中就能够取得,网站空间,不必读取数据行(只要你的SELECT字段正好就是索引,那么就用到了覆盖索引),通过覆盖索引,服务器空间,可以减少IO,提高了性能。

覆盖索引简单的说就是:我要在书里查找一个内容,但我这个目录写的很详细,我在目录中就获取到了,不需要再翻到该页查看。

之前的SQL执行时间:

优化后的SQL执行时间:

 

本文出自 “贺春旸的技术专栏” 博客,服务器空间,请务必保留此出处

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.