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

專(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://www.ilovecolors.com.cn/tutorial_baseinterviewquestions/

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

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

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

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

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

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

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 国产综合在线播放 | 国产成人在线视频免费观看 | 最近中文字幕在线 | 日本小视频网站 | 日韩欧美亚洲视频 | 欧美日韩中文字幕 | 香蕉视频网址 | 亚欧洲精品在线视频免费观看 | 国产2021精品视频免费播放 | 日韩一二| 2019免费视频 | 久久久全国免费视频 | 黄网站色年片在线观看 | 亚洲午夜成激人情在线影院 | 日韩精品a在线视频 | 最近中文字幕在线 | 日本xxxxxxxxx69中国 | 亚洲 欧洲 日产 专区 | 亚洲日本香蕉视频 | 日日爽夜夜爽 | 在线观看播放视频www | 黄短视频在线观看免费版 | 男人把女人狂躁的免费视频 | 一区二区三区福利视频 | dy888午夜国产午夜精品 | a一级免费| 天天操丝袜 | 国产午夜久久精品 | 黄色福利网站 | 在线视频观看一区 | 骚碰人人| 我要看黄色一级毛片 | 91精品欧美一区二区综合在线 | 免费看美女毛片 | 精品伊人久久久99热这里只 | 免费福利午夜影视网 | 久久福利影视 | 亚洲一区二区三区网站 | 一级视频在线观看 | 中文国产成人精品久久96 | 欧美片欧美日韩国产综合片 |