日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
如何檢查SQL語句是否用到索引

本篇內(nèi)容介紹了“如何檢查SQL語句是否用到索引”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

成都創(chuàng)新互聯(lián)長期為成百上千客戶提供的網(wǎng)站建設服務,團隊從業(yè)經(jīng)驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為諸暨企業(yè)提供專業(yè)的網(wǎng)站設計制作、成都網(wǎng)站制作,諸暨網(wǎng)站改版等技術服務。擁有十余年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

如何檢查SQL語句是否用到索引?

使用“EXPLAIN sql語句”進行調(diào)試,查看possible_keys或key
possible_keys:可能應用的索引
key:實際使用的索引
如何檢查SQL語句是否用到索引

哪些情況下索引會被忽略

  1. 前導LIKE 語句
    前導模糊查詢不生效 (如 like '%XX'或者like '%XX%')

//生效
explain select * from cartoon where `name` like '家里來了位道長大人%'
//不生效
explain select * from cartoon where `name` like '%555%'
  1. “or“ 條件

  2. “in“ 條件

  3. “<>“ 不等于判斷

  4. “between“ 范圍條件,可使用 where xx> 1 and xx<3代替

  5. IS NULL 或 IS NOT NULL,判斷為空

  6. 不能在索引上做任何操作(計算、函數(shù)、自動/手動類型轉(zhuǎn)換)

MySQL索引類型

索引類型

1. 普通索引 (index)

2. 唯一索引 (unique)

在普通索引的基礎上,會進行排除重復值

3. 主鍵索引 (primary key)

和唯一索引的區(qū)別在于一個表里只能有一個主鍵索引,但是唯一索引可以有多個。

4. 組合索引

ALTER TABLE table_name ADD INDEX index_name ( column1column2column3 )

5. 全文索引 (fulltext)

普通索引/唯一索引/主鍵索引 哪個速度更快?

速度是一樣的快,因為三者都是采用btree二叉樹算法進行查找。

2種索引算法

BTREE算法

Innodb和MyISAM默認的索引是BTREE索引
采用二叉樹算法,左邊的樹枝小于根節(jié)點關鍵詞,右邊大于根節(jié)點,兩邊的樹的深度不大于1,從而降低時間復雜度。

HASH算法

Mermory默認的索引是Hash索引
Hash索引只能用于HASH值比較,例如=,<> 操作符,不像BTREE索引需要從根節(jié)點到枝節(jié)點,最后才能訪問到頁節(jié)點這樣多次IO訪問,所以檢索效率遠高于BTREE索引。

為什么不默認采用HASH索引呢?

HASH只能用在=和<>上,所以功能受限,所以默認采用BTREE。

“如何檢查SQL語句是否用到索引”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!


網(wǎng)站題目:如何檢查SQL語句是否用到索引
分享地址:http://www.dlmjj.cn/article/giejhh.html