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

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

WBOY
풀어 주다: 2016-06-07 17:41:17
원래의
1788명이 탐색했습니다.

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

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

如这个例子:

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

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

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

之前的SQL执行时间:

优化后的SQL执行时间:

 

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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿