什麼樣的列使用索引?

2021-06-20 09:55:05 字數 348 閱讀 4690

這個問題以前經常面試別人,大多數的回答都是非常淺的。只回答重複度低的,為什麼重複度低的就適合採用索引,好像很少有人能答出來。

先說乙個前提,所有的系統瓶頸最終都落在io上,包括網路io和磁碟io,例如,一台機器cpu每秒可以執行5億條指令,如果是7200轉的磁碟的話,一分鐘7200轉,一轉1/120秒,大概要9-11毫秒的樣子。換句話說,一次磁碟訪問的時間大概是40萬條指令。所以我們希望的是能充分利用cpu,減少磁碟的訪問次數。b+tree正好符合這一場景,增加了運算次數,減少了資料讀取的次數。

關係型資料庫大多採用的索引演算法就是b+tree,樹天生就是解決查詢問題的,資料的重複度越低,越能體現出價值。對於重複的資料,只能使用rowid標示一下。

什麼樣的教育就有什麼樣孩子!

寵出來的孩子 危險 捧出來的孩子 霸道 慣出來的孩子 任性 嬌出來的孩子 脆弱 打出來的孩子 逆反 罵出來的孩子 胡塗 逼出來的孩子 出格 磨出來的孩子 堅強 苦出來的孩子 懂事 教出來的孩子 傳統 闖出來的孩子 勇敢 搏出來的孩子 成功 表揚出的孩子 自信 溺愛出的孩子 依賴 哄出來的孩子 虛偽 ...

什麼樣的社群?

3 14 2005 9 12 pm jian shuo wang 非常同意passby的看法,hi pda成功的根源在於使用者群太像了。想想手拿pda而且喜歡來研究的人長什麼樣子?必然是 男性,20到28歲,有些錢,月入n千甚至一萬但很少有月入2萬的,it背景。等等。不見的正確的猜測,但是 不離十。...

什麼樣的社群?

3 14 2005 9 12 pm jian shuo wang 非常同意passby的看法,hi pda成功的根源在於使用者群太像了。想想手拿pda而且喜歡來研究的人長什麼樣子?必然是 男性,20到28歲,有些錢,月入n千甚至一萬但很少有月入2萬的,it背景。等等。不見的正確的猜測,但是 不離十。...