海量數(shù)據(jù)庫解決方案
1魂毁、數(shù)據(jù)和索引分別獨立存儲的數(shù)據(jù)存儲結構具有非常重要的意義荒椭。
2声旺、設置充足的空余空間是提高數(shù)據(jù)處理效率的重要技術手段之一笔链。
3、如果表中行的存儲順序與我們經(jīng)常讀取較大范圍行的順序一致腮猖,則就能夠在很大程度上提高讀取效率卡乾。
4、寫入數(shù)據(jù)時輕而易舉的對其進行了存儲缚够,在查詢數(shù)據(jù)時就會花費更多的時間和精力。反之亦然鹦赎。
5谍椅、在利用索引讀取堆表數(shù)據(jù)時,代價較大的地方并不在于對索引的掃描上古话,而是在利用索引rowid對分散數(shù)據(jù)的隨機讀取雏吭。而索引組織表也正式由于降低了這部分的代價,才是的它在處理大范圍數(shù)據(jù)中能夠獲得卓越的效率陪踩。
6杖们、在堆表中索引和表示分開存儲的,所以即使索引塊被分割肩狂,rowid也不會發(fā)生變化摘完。但在索引組織表中,猶豫索引和表是一個整體傻谁,所以當索引快被分割孝治,rowid會隨著行的移動而變化。
7、在B-tree中只允許每個塊的2/3空間用來存儲鍵值谈飒,所以當塊中數(shù)據(jù)超過這個限制時岂座,鍵值就會被分割到兩個塊中,所以索引組織表的數(shù)據(jù)無法擁有永久的物理地址杭措。
8费什、索引組織表的rowid是一個可能的物理地址,利用這個尋找到對應行的可能行非常大手素,稱之為PhysicalGuess鸳址。如果使用邏輯rowid找到正確數(shù)據(jù)行的命中率非常低,則說明根本不應選擇索引組織表刑桑。適用情況:
.電子分類或關鍵字查詢表
.代碼信息表
.索引表
.空間信息管理表
.大部分使用主鍵查詢的表
.OLAP維度表
.記錄的長度相對較短氯质,切插入操作不頻繁發(fā)生的表。
9祠斧、對海量數(shù)據(jù)處理而言最具有價值的就是聚簇闻察。
10、聚簇表之所以能提高讀取效率琢锋,是因為只要讀取一個索引行就能夠連續(xù)讀取多個數(shù)據(jù)行辕漂。除此之外與一般索引相比沒有其他差異。
11吴超、復合表聚簇是在一個單位聚簇中存儲兩個或兩個以上的表聚簇結構钉嘹。提高表的連接效率。
12鲸阻、哈希聚簇的特征:
.SIZE跋涣,HASHKEYS,HASHIS等參數(shù)不允許修改鸟悴。
.只能通過=比較運算符讀取數(shù)據(jù)
.創(chuàng)建聚簇的同時存儲空間也分配陈辱。
.當插入的行所需要的空間比其所屬的單位聚簇空間大時,多出的行被存儲在溢出區(qū)中细诸。
.如果列值沒有被平均分布沛贪,則哈希鍵值容易發(fā)生沖突。
.直接使用由哈希函數(shù)計算出來的值來讀取數(shù)據(jù)的方法比使用索引的方法更加有效震贵。
.其他特征幾乎和索引聚簇相同利赋。
.哈希聚簇的適用范圍:
.盡量不要在數(shù)據(jù)以大量的形式連續(xù)不斷增加的表中使用。
.如果查詢條件中只是用了=運算猩系,則有很好的效果媚送。
.在聚簇列值分布不均等的情況下,容易導致出現(xiàn)溢出或鍵值之間沖突的現(xiàn)象蝙眶。
.僅限于小型代碼表季希,郵政編碼表褪那,系統(tǒng)用戶信息表等。
.把大量數(shù)據(jù)存儲在一定量的哈希聚簇中的升級概念就是hash分區(qū)式塌。在擁有大量數(shù)據(jù)博敬,增加速度非常快峰尝,大部分比較運算符都是=的表中偏窝,靈活使用hash分區(qū)很大程度可以提高讀取效率。