日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

MySQL重温笔记-索引

發(fā)布時(shí)間:2025/6/17 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL重温笔记-索引 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

  mysql分客戶(hù)端、服務(wù)層、存儲(chǔ)引擎層,而索引的實(shí)現(xiàn)就是在存儲(chǔ)引擎層,因此各個(gè)不同的存儲(chǔ)引擎之間的索引都有細(xì)微的差別。

【B-Tree索引】

  

  • MyIsam使用前綴壓縮技術(shù)使得索引更小,Innodb則按照原數(shù)據(jù)格式進(jìn)行存儲(chǔ)
  • MyIsam索引通過(guò)數(shù)據(jù)的物理位置引用被索引的行,Innodb則根據(jù)主鍵引用被索引的行。
  • 索引樹(shù)中的節(jié)點(diǎn)是有序的,所以索引適合全鍵值、鍵值范圍或鍵前綴查找(最左)。因?yàn)槭琼樞虻?#xff0c;所以也適合排序。
  • 聯(lián)合索引的索引順序很重要

?

【哈希索引】

  • 基于哈希實(shí)現(xiàn)。
  • 只有Memory引擎顯式支持哈希索引
  • 哈希索引只包含哈希值和行指針,而不存儲(chǔ)字段值
  • 哈希索引數(shù)據(jù)并不是按照索引值順序存儲(chǔ)的
  • 哈希索引不支持部分索引列匹配查找,哈希索引值是使用索引列全部?jī)?nèi)容來(lái)計(jì)算哈希值的
  • 哈希索引只支持等值比較查詢(xún)
  • 訪問(wèn)哈希索引的數(shù)據(jù)比較快,但是有多哈希值沖突的風(fēng)險(xiǎn)。

?

【全文索引】

  查找匹配的是文本中的關(guān)鍵詞,類(lèi)似于搜索引擎


?

【索引的優(yōu)點(diǎn)】

  • 減少表數(shù)據(jù)的掃描數(shù)量,不用全表掃描了
  • 避免排序和臨時(shí)表【索引按順序的,節(jié)省了排序時(shí)間】。
  • 將隨機(jī)I/O變?yōu)轫樞騃/O

【重點(diǎn)】【高效實(shí)用索引的技巧】

  • 在索引列不要進(jìn)行計(jì)算,例如下 select student_id from student where student_id + 1 =5;

    ?

  • 給text類(lèi)型添加索引時(shí),可以使用前綴索引,就是將值的內(nèi)容截取一部分作為索引。

  • ?聯(lián)合索引(多列索引)要注意列順序。一般是考慮的因素是,使用率最高的列放到索引前列,避免隨機(jī)IO,排序。

  • 聚簇索引,表示數(shù)據(jù)行和相鄰的鍵值緊湊的存儲(chǔ)在一起。innodb默認(rèn)會(huì)拿主鍵作為聚簇索引,若沒(méi)有主鍵,就是用非空索引,主鍵為順序的整數(shù)更加有利。
  • 表中的索引越多,插入的速度越慢,準(zhǔn)確的說(shuō)是insert? update delete?
  • 索引可以讓查詢(xún)鎖定更少的行
  • 確保任何group by和order by中的表達(dá)式只涉及到一個(gè)表中的列。
  • 除非確實(shí)需要服務(wù)器小蟲(chóng)重復(fù)的行,否則一定要使用union all,mysql是通過(guò)創(chuàng)建臨時(shí)表的方式來(lái)執(zhí)行union查詢(xún)。

  • ?

    【MySQL能夠使用三種方式應(yīng)用WHERE條件,從好到壞的順序?yàn)椤?/p>

  • 在索引中使用where條件來(lái)過(guò)濾不匹配的記錄,在存儲(chǔ)引擎層完成
  • 使用索引覆蓋掃描來(lái)返回記錄,直接從索引中過(guò)濾不需要的記錄并返回命中的結(jié)果,在服務(wù)器層完成的
  • 從數(shù)據(jù)表返回?cái)?shù)據(jù)。
  • ?


    ?

    【查詢(xún)的執(zhí)行流程】

      

    ?

    轉(zhuǎn)載于:https://www.cnblogs.com/ymkfnuiwgij/p/8642587.html

    總結(jié)

    以上是生活随笔為你收集整理的MySQL重温笔记-索引的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。