黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專(zhuān)注Java教育14年 全國(guó)咨詢(xún)/投訴熱線(xiàn):400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 Java常見(jiàn)面試題—數(shù)據(jù)庫(kù)索引詳解

Java常見(jiàn)面試題—數(shù)據(jù)庫(kù)索引詳解

更新時(shí)間:2019-10-12 10:26:52 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽5901次

索引在mysql中也叫做鍵(key),是存儲(chǔ)引擎用于快速找到記錄的一種數(shù)據(jù)結(jié)構(gòu)。

索引的作用:加速查詢(xún)操作;副作用:降低寫(xiě)操作性能;

索引常見(jiàn)的兩種數(shù)據(jù)結(jié)構(gòu)類(lèi)型:

1.B-Tree索引:它就是傳統(tǒng)意義上的索引,它是最常用、最有效的索引。

2.哈希索引:哈希索引是一種自適應(yīng)的索引,數(shù)據(jù)庫(kù)會(huì)根據(jù)表的使用情況自動(dòng)生成哈希索引,我們?nèi)藶槭菦](méi)辦法干預(yù)的。

B-Tree索引

大多數(shù)mysql引擎都支持這種索引;

  • B-Tree通常意味著所有的值都是按順序存儲(chǔ)的,
  • 并且每一個(gè)葉子頁(yè)到根的距離相同;

image.png

B-Tree(M=4)

image.png

B-Tree(M=4,依次插入1~6)

存儲(chǔ)引擎不需要進(jìn)行全表掃描來(lái)獲取需要的數(shù)據(jù),取而代之是從索引的根節(jié)點(diǎn)開(kāi)始進(jìn)行搜索;

適用于:

  • 全鍵值查找(全值匹配)
  • 鍵值范圍(若是有多列的合并索引,需要精確匹配某一列并范圍匹配另一列)
  • 鍵前綴查找
  • 按順序查找(orderby)

限制:

  • 如果不是按照索引的最左列開(kāi)始查找,則無(wú)法使用索引
  • 不能跳過(guò)索引中的列
  • 如果查詢(xún)中有某個(gè)列的范圍查詢(xún),其右邊的所有列都無(wú)法使用索引優(yōu)化查詢(xún)

哈希索引

在mysql中,只有memory引擎顯式支持哈希索引;基于哈希表實(shí)現(xiàn),只有精確匹配索引所有列的查詢(xún)才有效;對(duì)于每一行數(shù)據(jù),存儲(chǔ)引擎會(huì)對(duì)所有的索引列計(jì)算一個(gè)哈希碼,不同的鍵值行計(jì)算出的哈希碼不一樣,哈希索引將所有的哈希碼存儲(chǔ)在索引中,同時(shí)在哈希表中保存指向每個(gè)數(shù)據(jù)行的指針;(hash索引結(jié)構(gòu):hash值:指針)

優(yōu)勢(shì):查找速度非???/p>

限制:

  • 無(wú)法用于排序
  • 不支持部分索引列匹配查找
  • 只支持等值比較查詢(xún)

索引優(yōu)點(diǎn):

  • 降低需要掃描的數(shù)據(jù)量,根據(jù)索引定位資源,減少I(mǎi)O次數(shù);
  • 可以幫助避免排序操作,因?yàn)樗饕旧砭褪歉鶕?jù)順序存放的,避免使用臨時(shí)表;
  • 幫助將隨機(jī)IO轉(zhuǎn)為順序IO,提示系統(tǒng)性能;

索引的缺點(diǎn)

  • 第一,創(chuàng)建索引和維護(hù)索引要耗費(fèi)時(shí)間,這種時(shí)間隨著數(shù)據(jù)量的增加而增加。
  • 第二,索引需要占物理空間,除了數(shù)據(jù)表占數(shù)據(jù)空間之外,每一個(gè)索引還要占一定的物理空間,如果要建立聚簇索引,那么需要的空間就會(huì)更大。
  • 第三,當(dāng)對(duì)表中的數(shù)據(jù)進(jìn)行增加、刪除和修改的時(shí)候,索引也要?jiǎng)討B(tài)的維護(hù),這樣就降低了數(shù)據(jù)的維護(hù)速度。

哪些情況需要加索引?

  • 在經(jīng)常需要搜索的列上,可以加快搜索的速度;
  • 在作為主鍵的列上,強(qiáng)制該列的唯一性和組織表中數(shù)據(jù)的排列結(jié)構(gòu);
  • 在經(jīng)常用在連接的列上,這些列主要是一些外鍵,可以加快連接的速度;
  • 在經(jīng)常需要根據(jù)范圍進(jìn)行搜索的列上創(chuàng)建索引,因?yàn)樗饕呀?jīng)排序,其指定的范圍是連續(xù)的;
  • 在經(jīng)常需要排序的列上創(chuàng)建索引,因?yàn)樗饕呀?jīng)排序,這樣查詢(xún)可以利用索引的排序,加快排序查詢(xún)時(shí)間;
  • 在經(jīng)常使用在WHERE子句中的列上面創(chuàng)建索引,加快條件的判斷速度。

以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)小編分享的“Java常見(jiàn)面試題—數(shù)據(jù)庫(kù)索引詳解”的內(nèi)容,希望對(duì)大家有幫助,更多java面試題請(qǐng)繼續(xù)關(guān)注動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)官網(wǎng),每天會(huì)精彩內(nèi)容分享與你。

相關(guān)java面試題推薦

2019最新最全java面試題及答案:http://m.ilovecolors.com.cn/tutorial_baseinterviewquestions/

Java常見(jiàn)面試題匯總:http://m.ilovecolors.com.cn/javazixun/1007.html

2019最新java面試題含答案(基礎(chǔ)篇):http://m.ilovecolors.com.cn/javazixun/1145.html

各大互聯(lián)網(wǎng)公司Java面試題匯總:http://m.ilovecolors.com.cn/javazixun/1867.html

2019最新Java常見(jiàn)面試題(附帶答案):http://m.ilovecolors.com.cn/javazixun/891.html

常被問(wèn)到的Java面試題(帶全部答案):http://m.ilovecolors.com.cn/javazixun/886.html

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話(huà)與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 操美女在线 | 日日日射射射 | www.深夜| 最近2019中文字幕免费看最新 | 欧美一区二区视频在线观看 | 欧美日韩国产中文字幕 | 黄色免费网站在线看 | 国产视频网站在线 | 又黄又爽的视频免费看 | 日韩美女毛片 | 国产成人短视频 | 丝袜三级 | 日本天天色 | 高h喷水荡肉爽文各种场合 高h喷水荡肉爽文np欲 | 黄色一级欧美 | 大片免费观看在线视频 | 性大片免费视频观看 | 免费观看性欧美一级 | 午夜影院操一 | 欧美一区二区三区精品影视 | 欧美最猛黑人xxxxx猛交 | 一个人看的www免费视频 | 97天天做天天爱夜夜爽 | 美脚肉色丝袜足j | 日本免费一区视频 | 在线观看国产免费高清不卡 | 曰韩毛片| 欧美日韩不卡视频一区二区三区 | 久热最新视频 | 亚洲大片在线观看 | 国产1024观看免费视频 | 久久国产精品广西柳州门 | 九九久久国产 | 欧美xxxxxxxxxx黑人 | 日本三级小视频 | 成人精品一区二区三区中文字幕 | 免费国产在线观看 | 小明永久免费看aⅴ片 | 久久午夜羞羞影院免费观看 | 日日干夜夜操s8 | 在线观看中文字幕 |