如果對學(xué)員QQ號做了一個唯一索引掀潮,在插入數(shù)據(jù)的時候,是否需要先判斷這個QQ號已經(jīng)存在了浪汪?

大家好,我是IT修真院武漢分院第11期學(xué)員凛虽,一枚正直善良的java程序員死遭。今天給大家分享一下任務(wù)一的深度思考:如果對學(xué)員QQ號做了一個唯一索引,在插入數(shù)據(jù)的時候凯旋,是否需要先判斷這個QQ號已經(jīng)存在了呀潭?

1.背景介紹

什么是唯一索引钉迷?

要說唯一索引,的先說索引钠署。

? ? ? ? ? ? ? 打個比方糠聪,字典就是一張表,列面的每個字和解釋就是其中的列谐鼎,而索引就是在目錄中對應(yīng)音節(jié)和偏旁的頁數(shù)舰蟆,

? 如果沒有索引,就好比字典里沒有目錄狸棍,如果漢字只有幾十個身害,字典只有幾頁,當我們想找哪個字草戈,翻幾頁很快可以找出來塌鸯。可實際上字典里的數(shù)字遠遠不止這一些唐片,

? 一本字典去找這個字效率太低丙猬,因而我們需要索引,直接根據(jù)索引找到這個字费韭。

? 唯一索引淮悼,顧名思義,添加了唯一索引的列的數(shù)據(jù)不能重復(fù)

2.知識剖析

在實際情況中揽思,像qq號袜腥,身份證號,手機號這樣的數(shù)據(jù)钉汗,肯定是不能重復(fù)的羹令,對于這樣的字段,我們就應(yīng)該添加唯一索引

3.常見問題

如果對學(xué)員QQ號做了一個唯一索引损痰,在插入數(shù)據(jù)的時候福侈,是否需要先判斷這個QQ號已經(jīng)存在了?

4.解決方案

判斷也可以卢未,不過不方便肪凛,多連接一次數(shù)據(jù)庫,影響性能辽社。我們可以在插入語句后加ON DUPLICATE KEY UPDATE 添加了唯一索引的字段名 = VALUES(添加了唯一索引的字段名) 然后判斷他的返回值

5.編碼實戰(zhàn)


6.擴展思考

索引方式btree伟墙,hash有什么區(qū)別

btree


hash


簡單地說,哈希索引就是采用一定的哈希算法滴铅,把鍵值換算成新的哈希值戳葵,檢索時不需要類似B+樹那樣從根節(jié)點到葉子節(jié)點逐級查找,只需一次哈希算法即可立刻定位到相應(yīng)的位置汉匙,速度非彻八福快生蚁。

從上面的圖來看,B+樹索引和哈希索引的明顯區(qū)別是:

如果是等值查詢戏自,那么哈希索引明顯有絕對優(yōu)勢邦投,因為只需要經(jīng)過一次算法即可找到相應(yīng)的鍵值;當然了擅笔,這個前提是尼摹,鍵值都是唯一的。如果鍵值不是唯一的剂娄,就需要先找到該鍵所在位置蠢涝,然后再根據(jù)鏈表往后掃描,直到找到相應(yīng)的數(shù)據(jù)阅懦;

從示意圖中也能看到和二,如果是范圍查詢檢索,這時候哈希索引就毫無用武之地了耳胎,因為原先是有序的鍵值惯吕,經(jīng)過哈希算法后,有可能變成不連續(xù)的了怕午,就沒辦法再利用索引完成范圍查詢檢索废登;

同理,哈希索引也沒辦法利用索引完成排序郁惜,以及l(fā)ike ‘xxx%’ 這樣的部分模糊查詢(這種部分模糊查詢堡距,其實本質(zhì)上也是范圍查詢);

哈希索引也不支持多列聯(lián)合索引的最左匹配規(guī)則兆蕉;

B+樹索引的關(guān)鍵字檢索效率比較平均羽戒,不像B樹那樣波動幅度大,在有大量重復(fù)鍵值情況下虎韵,哈希索引的效率也是極低的易稠,因為存在所謂的哈希碰撞問題

轉(zhuǎn)自:http://www.cnblogs.com/zengkefu/p/5647279.html

7.參考文獻

https://www.cnblogs.com/heiming/p/5865101.html

8.更多討論



undefined_騰訊視頻

技能樹.IT修真院

“我們相信人人都可以成為一個工程師包蓝,現(xiàn)在開始驶社,找個師兄,帶你入門测萎,掌控自己學(xué)習(xí)的節(jié)奏亡电,學(xué)習(xí)的路上不再迷茫”绳泉。

這里是技能樹.IT修真院逊抡,成千上萬的師兄在這里找到了自己的學(xué)習(xí)路線,學(xué)習(xí)透明化零酪,成長可見化冒嫡,師兄1對1免費指導(dǎo)∷奈快來與我一起學(xué)習(xí)吧

直接點擊此鏈接:http://www.jnshu.com/login/1/18302507

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末孝凌,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子月腋,更是在濱河造成了極大的恐慌蟀架,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件榆骚,死亡現(xiàn)場離奇詭異片拍,居然都是意外死亡,警方通過查閱死者的電腦和手機妓肢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門捌省,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人碉钠,你說我怎么就攤上這事纲缓。” “怎么了喊废?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵祝高,是天一觀的道長。 經(jīng)常有香客問我污筷,道長工闺,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任瓣蛀,我火速辦了婚禮斤寂,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘揪惦。我一直安慰自己遍搞,他們只是感情好,可當我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布器腋。 她就那樣靜靜地躺著溪猿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪纫塌。 梳的紋絲不亂的頭發(fā)上诊县,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天,我揣著相機與錄音措左,去河邊找鬼依痊。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的胸嘁。 我是一名探鬼主播瓶摆,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼性宏!你這毒婦竟也來了群井?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤毫胜,失蹤者是張志新(化名)和其女友劉穎书斜,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體酵使,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡荐吉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了口渔。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片样屠。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖搓劫,靈堂內(nèi)的尸體忽然破棺而出瞧哟,到底是詐尸還是另有隱情,我是刑警寧澤枪向,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布勤揩,位于F島的核電站,受9級特大地震影響秘蛔,放射性物質(zhì)發(fā)生泄漏陨亡。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一深员、第九天 我趴在偏房一處隱蔽的房頂上張望负蠕。 院中可真熱鬧,春花似錦倦畅、人聲如沸遮糖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽欲账。三九已至,卻和暖如春芭概,著一層夾襖步出監(jiān)牢的瞬間赛不,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工罢洲, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留踢故,地道東北人。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像殿较,于是被迫代替她去往敵國和親耸峭。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容