Atitit.数据索引 的种类以及原理实现机制 索引常用的存储结构
Atitit.數據索引?的種類以及原理實現機制?索引常用的存儲結構
?
?
1.?索引的分類1
1.1.?索引的類型??按查找方式分,兩種,分塊索引?vs編號索引1
1.2.?按索引與數據的查找順序可分為?正排與倒排索引1
1.3.?單列索引與多列索引2
1.4.?分區索引和全局索引?2
2.?索引建立,更新的流程使用觸發更新索引的事件2
3.?索引常用的存儲結構?B樹文件?叫做“索引順序存取方法”(Indexed?Sequential?Access?Method),縮寫為ISAM。2
4.??Trie樹一般指字典樹?又稱單詞查找樹,Trie樹,是一種樹形結構,是一種哈希樹的變種。典型應用是用于統計,排序和保存大量的字符串(但不僅限于字符串),所以經常被搜索引擎系統用于文本詞頻統計3
5.?索引文件的合并問題4
6.?參考4
?
?
?
1.?索引的分類
Uniq
全文索引
Norma
Hash?索引(編號索引)
l
?
?
1.1.?索引的類型??按查找方式分,兩種,分塊索引?vs編號索引
?
?
一種是分塊》分塊類型。。一種是不分塊,編號順序排列類型
?
1.2.?按索引與數據的查找順序可分為?正排與倒排索引
倒排索引
?
1.3.?單列索引與多列索引
?
1.4.?分區索引和全局索引?
?
作者::?綽號:老哇的爪子?(?全名::Attilax?akbar?al?rapanui?阿提拉克斯?阿克巴?阿爾?拉帕努伊?)?漢字名:艾龍,??EMAIL:1466519819@qq.com
轉載請注明來源:?http://blog.csdn.net/attilax
?
2.?索引建立,更新的流程使用觸發更新索引的事件
1?大量數據插入的時候,考慮先刪除索引,然后重建索引。這樣做的缺點是業務不能同時進行
?
說明索引是類似與觸發器,每增加一條記錄觸發一次創建立索引的流程
?
?
3.?索引常用的存儲結構?B樹文件?叫做“索引順序存取方法”(Indexed?Sequential?Access?Method),縮寫為ISAM。
?
?
所謂索引,就是以某個字段為關鍵字的B樹文件。假定有一張”雇員表”,包含了員工號(主鍵)和姓名兩個字段。可以對姓名建立索引文件,該文件以B樹格式對姓名進行儲存,每個姓名后面是其在數據庫中的位置(即第幾條記錄)。查找姓名的時候,先從索引中找到對應第幾條記錄,然后再從表格中讀取。
這種索引查找方法,叫做“索引順序存取方法”(Indexed?Sequential?Access?Method),縮寫為ISAM。它已經有多種實現(比如C-ISAM庫和D-ISAM庫),只要使用這些代碼庫,就能自己寫一個最簡單的數據庫。
4.??Trie樹一般指字典樹?又稱單詞查找樹,Trie樹,是一種樹形結構,是一種哈希樹的變種。典型應用是用于統計,排序和保存大量的字符串(但不僅限于字符串),所以經常被搜索引擎系統用于文本詞頻統計
。它的優點是:利用字符串的公共前綴來減少查詢時間,最大限度地減少無謂的字符串比較,查詢效率比哈希樹高。
Trie樹,又稱字典樹,單詞查找樹或者前綴樹,是一種用于快速檢索的多叉樹結構,如英文字母的字典樹是一個26叉樹,數字的字典樹是一個10叉樹。
Trie一詞來自retrieve,發音為/tri:/?“tree”,也有人讀為/tra?/?“try”。
Trie樹可以利用字符串的公共前綴來節約存儲空間。如下圖所示,該trie樹用10個節點保存了6個字符串tea,ten,to,in,inn,int:
在該trie樹中,字符串in,inn和int的公共前綴是“in”,因此可以只存儲一份“in”以節省空間。當然,如果系統中存在大量字符串且這些字符串基本沒有公共前綴,則相應的trie樹將非常消耗內存,這也是trie樹的一個缺點。
Trie樹的基本性質可以歸納為:
(1)根節點不包含字符,除根節點意外每個節點只包含一個字符。
(2)從根節點到某一個節點,路徑上經過的字符連接起來,為該節點對應的字符串。
(3)每個節點的所有子節點包含的字符串不相同。
?
?
5.?索引文件的合并問題
當索引文件越來越大時候,就需要分布式存儲在多個增量索引文件上..到時合并或者不合并.....
或者使用2進制方式增量存儲..
?
6.?參考
paip.索引的種類以及實現attilax?總結?-?attilax的專欄?-?博客頻道?-?CSDN.NET.htm
字典樹_百度百科.htm??(有代碼實現
?
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的Atitit.数据索引 的种类以及原理实现机制 索引常用的存储结构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ZOJ 3829 贪心 思维题
- 下一篇: php无法加载Memcache缓存模块问