mysql ignore index,mysql强制索引FORCE INDEX/IGNORE INDEX忽略索引
FORCE INDEX 通常用來對(duì)查詢強(qiáng)制使用一個(gè)或者多個(gè)索引。 MySQL 通常會(huì)根據(jù)統(tǒng)計(jì)信息選擇正確的索引,但是當(dāng)查詢優(yōu)化器選擇了錯(cuò)誤的索引或者根本沒有使用索引的時(shí)候,這個(gè)提示將非常有用。
IGNORE INDEX 提示會(huì)禁止查詢優(yōu)化器使用指定的索引。在具有多個(gè)索引的查詢時(shí),可以用來指定不需要優(yōu)化器使用的那個(gè)索引,還可以在刪除不必要的索引之前在查詢中禁止使用該索引。
FORCE INDEX/IGNORE INDEX 的語法: 教學(xué)網(wǎng) eduyo.com
SELECT *** FROM TABLE [{USE|IGNORE|FORCE} INDEX (key_list)] WHERE ……
下面的例子是使用 IGNORE INDEX 以后,執(zhí)行計(jì)劃的變化情況,默認(rèn)的執(zhí)行計(jì)劃是按照主鍵索引進(jìn)行掃描,如果我們使用 IGNORE INDEX 忽略主鍵索引,則會(huì)按照全表掃描執(zhí)行:
mysql> desc select count(*) from test3 where id = 1 \G
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: test3
type: const
possible_keys: PRIMARY
key: PRIMARY
key_len: 4
ref: const
rows: 1
Extra: Using index
1 row in set (0.00 sec)
mysql> desc select count(*) from test3 ignore index (primary) where id = 1 \G
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: test3
type: ALL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: 862560
Extra: Using where
1 row in set (0.00 sec)
(責(zé)任編輯:ken)
總結(jié)
以上是生活随笔為你收集整理的mysql ignore index,mysql强制索引FORCE INDEX/IGNORE INDEX忽略索引的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab verilog 接口,使用
- 下一篇: matlab 图像读取默认值,实验一MA