1、水平分割:
根據某些條件將資料放到二個夥多個堵路的表中。即按計量進行分割,不同的記錄
可以用分開儲存,每個字表的列數相同。水平切割將表分為多個表。每個表包含
的列數相同,單身資料行更少。例如,可以將乙個包含了十億行的表水平分割槽成12個
表,每個小表表示特定年份內乙個月的資料。任何需要特定月份資料的查詢只需查詢
引用相應月份的表。
通常用來水平分割表的條件有:日期時間維度、地區維度等
水平分割通常在下面的情況下使用:
1、表資料量很大,分割後可以降低在查詢時需要讀的資料和索引的頁數,同時也降低
了索引的層數,加快了查詢速度
2、表中的資料本來就有獨立性,例如表中分別記錄了各個地區的資料或不同時期的資料
3、需要把資料存放到多個介質上
4、需要把歷史資料和當前資料拆分開
2、垂直分割:
把主鍵列和一列放到乙個表中,然後把主鍵列和另外的一些列放到另外乙個表中。將原始表
分成多個只包含較少列的表。如果乙個表中某些列常用,而另外一些列不常用,責可以採用。
優點:1、垂直分割可以是行數變小,乙個資料塊就能存放更多的額資料,在查詢時就會減少i/o次數
2、垂直分割表可以達到最大化利用cache的目的
缺點:1、垂直分割後,主鍵出現冗餘,需要管理冗餘列
2、會引起表連線join操作,需要從業務上規避
3、庫表雜湊:
表雜湊和水平分割相似,但沒有水平分割那樣的明顯分割界限,採用hash演算法吧資料分散到各個表中,這樣io就更加均衡。一般來說,按業務或者功能模組將資料庫進行分離,不同的模組對應不同的資料庫或者表,再按照一定的策略對某個頁面或者功能進行更小的資料庫雜湊。比如使用者表按照使用者id進行雜湊,雜湊128張表,則應就能低成本的提公升系統的效能,並且很好的擴充套件性
理論 資料庫設計
資訊的不可表示問題 資訊的冗餘問題 函式依賴 x函式決定y 或 y函式依賴於x 記作x y,稱x為決定因素 如s sn,s c g 如果x y,但y 不包含於 x,則稱其為非平凡的函式依賴,否則稱為平凡的函式依賴 如 s sn sn是平凡的函式依賴 在r u 中,如果x y,且對於任意x的真子集x ...
資料庫理論總結
1 無資料庫,使用磁碟檔案儲存資料 2 層次結構模型資料庫 3 網狀模型結構資料庫 4 關係結構模型資料庫 使用二維 table 來儲存資料 5 關係 物件模型資料庫 orm 從物件到資料庫 6 分布式資料庫 nosql mongodb 3.1 c programdate mysql mysql s...
資料庫理論(一)
1.定義 資料模型是對現實世界資料特徵的抽象。2.資料模型應滿足三方面的要求 1 能比較真實地模擬現實世界 2 容易為人所理解 3 便於在計算機上實現。3.資料庫系統的核心和基礎 資料模型 4.資料模型分為兩大類 資料模型的分類 概念模型 按使用者的觀點對資料和資訊進行建模 邏輯模型和物理模型 邏輯...