前綴索引

今天讀了這幾頁,好難啊= =。智商不夠用啊,想了好久才想明白原理。


首先要明白為什么要有前綴。完整的索引不行嗎?

主要是長度的影響。一來,需要符合索引的長度的要求,二來,假如你擦著線選了比較長的索引,那么查找的效率和對建立索引時(shí)的影響想必也不好的。(這個(gè)沒有做實(shí)驗(yàn),書上這么說是有道理的。從原理上。)

怎么確定索引長度呢。

理想的情況,我們剛好選了長度為n,然后每次查找時(shí)都能通過索引查到唯一。所以我們需要嘗試,來達(dá)到這個(gè)效果。

文章時(shí)通過,選取隨機(jī)分布然后幾次重復(fù)生成的數(shù)據(jù)表,通過確定長度為k時(shí)的前綴對應(yīng)的行的cnt,和全部列出來的cnt比較。如果前者比較大,說明長度不夠(索引越長越具體,就越和想要的效果接近。),所以增加長度 = 減少相同前綴的cnt = 精確。在遞增時(shí)就在某時(shí)比較符合最終的情況。

但不可否認(rèn),總是有可能重合的。所以查找時(shí),可能對最后結(jié)果還要判斷,如果在查找時(shí)得到的不是一個(gè)而是多個(gè),那么就需要多次查找。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容