#### like查詢
在使用like(模糊匹配)的時候,**在左邊沒有通配符的情況下**,才可以使用索引。在mysql里,以%開頭的like查詢,用不到索引。
錯誤:
~~~
explain select * from 表名 where name like '%ck';
~~~
結果
~~~
id: 1
select_type: SIMPLE
table: t1
partitions: NULL
type: ALL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: 1
filtered: 100.00
Extra: Using where //沒有使用索引條件
~~~
正確:
~~~
explain select * from t1 where name like 'ja%'\G
~~~
結果
~~~
id: 1
select_type: SIMPLE
table: t1
partitions: NULL
type: range
possible_keys: name,name_2
key: name
key_len: 63
ref: NULL
rows: 1
filtered: 100.00
Extra: Using index condition //使用了索引條件
~~~
**注意,如果select的字段正好就是索引,那么會用到索引即索引覆蓋。**
~~~
explain select name from t1 where name like '%ck'\G
~~~
結果
~~~
id: 1
select_type: SIMPLE
table: t1
partitions: NULL
type: index
possible_keys: NULL
key: name
key_len: 63
ref: NULL
rows: 1
filtered: 100.00
Extra: Using where; Using index
~~~
- MySQL優化概述
- 存儲引擎的選擇
- innodb引擎
- myisam引擎
- memory引擎
- 查詢需優化語句
- 通用查詢日志
- 慢查詢日志
- profile機制
- 索引
- 索引基本介紹
- 索引類型
- 索引管理語法
- 創建索引主要事項
- 執行計劃
- 查看索引類型
- myisam索引數據結構
- innodb索引數據結構
- 索引覆蓋
- 索引使用原則
- 列獨立
- like查詢
- 復合索引使用
- or運算都具有索引
- mysql智能選擇
- 優化group by語句
- 前綴索引
- 全文索引
- 查詢緩存
- 查詢緩存操作
- 無緩存
- limit分頁優化
- 分區
- 分區介紹
- list分區
- range分區
- hash分區
- key(鍵值)分區
- 分區管理
- 分表
- 分表介紹
- 水平分表
- 垂直分表
- MySQL鎖機制
- 鎖機制介紹
- 鎖的幾種形式
- 表鎖操作
- 行鎖操作
- 數據碎片與維護
- 范式
- 第一范式
- 第二范式
- 第三范式
- 反三范式
- 主從復制
- 介紹
- 讀寫分離