分割槽是表的一種設計模式。正確的分割槽可以極大提高資料庫的查詢效率。
分割槽不是在儲存引擎層面實現的,所以並不是innodb獨有的。mysql僅支援水平分割槽(將同一表中的不同行的記錄分配到不同的物理檔案中),並且是區域性分割槽索引,乙個區中既存放資料又存放索引。
全域性分割槽: 資料存放在各個分割槽中,但是所有資料的索引放在乙個物件中;(mysql 暫不支援)
mysql支援一下的分割槽方法:
- range分割槽 (指定乙個連續範圍): 行資料基於屬於乙個給定連續區間的列值放入分割槽;
- list分割槽(指定乙個離散範圍): 面向的是離散的值 ;
- hash分割槽(通過自定義函式的返回值來進行分割槽,返回值不能是負值)
- key分割槽(根據mysql提供的雜湊函式進行分割槽)
如果表中存在主鍵或唯一索引,分割槽列必須是唯一索引的一部分。
唯一索引可以是null值,並且只要求分割槽列是唯一索引的乙個組成部分, 不需要整個唯一索引列都是分割槽列;
-- 具體章節參考 :
<4.8章節>
MySQL技術內幕
innodb儲存引擎是事物安全的儲存引擎。innodb儲存引擎有多個記憶體塊,這些記憶體塊組成乙個很大的記憶體池,負責如下的工作 後台執行緒 innodb儲存引擎是多執行緒模型,因此他有多個不同的後台執行緒,負責處理不同的任務。記憶體日誌檔案 記錄mysql對某種條件做出響應時的檔案,如錯誤日誌檔案...
MySQL技術內幕(一)
1.mysql是一種可移植的資料庫,可在多種平台下使用,如linux,solaris,freebsd,mac,windows 2.資料庫和資料庫例項的區別 資料庫是指物理上儲存的檔案的集合 資料庫例項是由後台的執行緒 程序和共享記憶體區組成,操縱資料庫檔案。3.mysql區別於其他資料庫的最重要的特...
Mysql技術內幕筆記
mysql由以下幾個部分組成 連線池元件 管理服務和工具元件 sql介面組價 查詢分析器組價 優化器組價 快取 cache 組價 外掛程式式儲存引擎 物理檔案。可以看出,mysql資料庫區別於其他資料庫的最重要的乙個特點就是其外掛程式式的表儲存引擎。儲存引擎是基於表的,而不是資料庫。是底層物理結構的...