大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專(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) 瀏覽5899次

索引在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ì):查找速度非常快

限制:

  • 無(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.dabaquan.cn/tutorial_baseinterviewquestions/

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

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

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

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

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

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

  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 日本特黄a级高清免费大片18 | 国产精品视频福利一区二区 | 欧美日韩高清在线观看一区二区 | 二区国产 | 国产精品久久久久久久小唯西川 | 亚洲精品久久久午夜伊人 | 一区二区中文字幕在线观看 | 日本一级在线播放线观看免 | 成人特级毛片69免费观看 | 久久99热精品免费观看欧美 | 欧美日本黄色片 | 伊人久久影院 | 伊人网狠狠干 | 午夜撸 | 亚洲国产另类久久久精品小说 | 野外一级毛片 | 日本另类αv欧美另类aⅴ | 人人狠狠综合久久亚洲婷婷 | 激情五月综合综合久久69 | 亚洲五月综合缴情婷婷 | 国产福利在线永久视频 | 狠狠色噜噜综合社区 | 欧美日本一级在线播放 | 特片我不卡 | www.欧美xxx| 久久r精品 | 青草社区在线观看 | 狠狠色婷婷丁香综合久久韩国 | 国产欧美日韩精品高清二区综合区 | 亚洲精品久久久久午夜 | 亚洲香蕉国产高清在线播放 | 特级中国aaa毛片 | 久久综合九色综合精品 | 国产麻豆va精品视频 | 欧美日韩高清观看一区二区 | 久久精品影院一区二区三区 | 青青在线成人免费视频 | 97久久综合精品久久久综合 | 久久久久国产一级毛片高清片 | 欧美美女xnxx | 久热中文字幕在线观看 |