MySQL為什么會索引失效?_MySQL教程
推薦:MySql大批量導入數據優化對于MyISAM: a.alter table table_name disable keys b.loading data c.alter table table_name enable keys 對于Innodb: a.將要導入的數據按照主鍵排序 b.set unique_checks=0,關閉唯一性校驗 c.set autocommit=0,關閉自動提交
索引并不是時時都會生效的,比如以下幾種情況,將導致索引失效:
如果條件中有or,即使其中有條件帶索引也不會使用(這也是為什么盡量少用or的原因)
注意:要想使用or,又想讓索引生效,只能將or條件中的每個列都加上索引
2.對于多列索引,不是使用的第一部分,則不會使用索引
3.like查詢是以%開頭
4.如果列類型是字符串,那一定要在條件中將數據使用引號引用起來,否則不使用索引
5.如果mysql估計使用全表掃描要比使用索引快,則不使用索引
此外,查看索引的使用情況
show status like ‘Handler_read%’;
大家可以注意:
handler_read_key:這個值越高越好,越高表示使用索引查詢到的次數
大家可以注意:
handler_read_key:這個值越高越好,越高表示使用索引查詢到的次數
handler_read_rnd_next:這個值越高,說明查詢低效
分享:sql語句:SQLServer字段排序(按筆畫,拼音,拼音首字母)--按筆畫排序 select ChannelID,ChannelName from dbo.HB_AdChannel order by ChannelName collate chinese_prc_stroke_cs_as_ks_ws --按拼音排序 select ChannelID,ChannelName+Description from dbo.HB_AdChannel order by ChannelName+Description collate chinese_
相關MySQL教程:
- MSSQL清空日志刪除日志文件
- 關于數據庫中保留小數位的問題
- 解析mysql與Oracle update的區別
- mysql 導入導出數據庫以及函數、存儲過程的介紹
- MySQL——修改root密碼的4種方法(以windows為例)
- 解決MYSQL出現Can''t create/write to file ''#sql_5c0_0.MYD''的問題
- 深入理解SQL的四種連接-左外連接、右外連接、內連接、全連接
- 解析:內聯,左外聯,右外聯,全連接,交叉連接的區別
- mysql出現“Incorrect key file for table”處理方法
- mysql重裝后出現亂碼設置為utf8可解決
- 淺析一個MYSQL語法(在查詢中使用count)的兼容性問題
- 解析MySQL中INSERT INTO SELECT的使用
- 相關鏈接:
- 教程說明:
MySQL教程-MySQL為什么會索引失效?。