mysql分割槽表筆記
mysql分割槽表
mysql分割槽表是一個獨立的邏輯表,但是底層由多個物理字表組成。
對分割槽的請求,都會透過控制程式碼物件轉化成對儲存引擎介面的呼叫。所以分割槽對於
對於sql層來說是一個完全封裝底層實現的黑盒子,對應用是透明的。
Mysql實現分割槽表的方式--對底層表的封裝--意味著索引也是按照分割槽的字表定義的,而沒有全域性索引。
適合場景:
表中只有最後部分資料是熱點資料,其他均為臨時資料。
分割槽表中資料更容易維護,可以對獨立的分割槽進行最佳化,檢查、修復等操作
分割槽表資料可以分佈在不同物理裝置上,從而高效地利用多個硬體裝置
可以備份和恢復獨立的分割槽,這在非常大的資料集的場景下效果非常好。
分割槽限制:
一個分割槽表只能有1024個分割槽
如果分割槽欄位中有主鍵或者唯一索引的列,那麼所有主鍵列和唯一索引列都必須包含進來。
利用分割槽表來避免某些特殊的瓶頸,例如Innodb的單個索引的互斥訪問ext3檔案系統的inode鎖競爭等。
分割槽表無法使用外來鍵約束。
分割槽表的原理
從儲存引擎的角度來看,底層表和一個普通的表沒有任何不同,儲存引擎也無需知道這是一個普通表還是一個分割槽表的一部分。
select查詢
分割槽表的型別
mysql支援多種分割槽表。分割槽表示式可以是列,也可以是包含列的表示式。例如,下表就可以將每一年的銷售額存放在不同的分割槽裡。
create table sales(
order_date datetime not null,
--Other columns
)engine=InnoDB partition by range(Year(order_date))(
partition p_2010 values less then (2010),
partition p_2011 values less then(2011),
partition p_catchall values less then maxvalue);
mysql還支援鍵值,雜湊和列表分割槽。
系統透過子分割槽可降低索引的互斥訪問的競爭。最近一年的分割槽的資料會被非常頻繁地訪問,這會導致大量的互斥鎖的競爭。使用雜湊子分割槽可以
將資料切成多個小片,大大降低互斥量的競爭問題。
mysql分割槽表是一個獨立的邏輯表,但是底層由多個物理字表組成。
對分割槽的請求,都會透過控制程式碼物件轉化成對儲存引擎介面的呼叫。所以分割槽對於
對於sql層來說是一個完全封裝底層實現的黑盒子,對應用是透明的。
Mysql實現分割槽表的方式--對底層表的封裝--意味著索引也是按照分割槽的字表定義的,而沒有全域性索引。
適合場景:
表中只有最後部分資料是熱點資料,其他均為臨時資料。
分割槽表中資料更容易維護,可以對獨立的分割槽進行最佳化,檢查、修復等操作
分割槽表資料可以分佈在不同物理裝置上,從而高效地利用多個硬體裝置
可以備份和恢復獨立的分割槽,這在非常大的資料集的場景下效果非常好。
分割槽限制:
一個分割槽表只能有1024個分割槽
如果分割槽欄位中有主鍵或者唯一索引的列,那麼所有主鍵列和唯一索引列都必須包含進來。
利用分割槽表來避免某些特殊的瓶頸,例如Innodb的單個索引的互斥訪問ext3檔案系統的inode鎖競爭等。
分割槽表無法使用外來鍵約束。
分割槽表的原理
從儲存引擎的角度來看,底層表和一個普通的表沒有任何不同,儲存引擎也無需知道這是一個普通表還是一個分割槽表的一部分。
select查詢
分割槽表的型別
mysql支援多種分割槽表。分割槽表示式可以是列,也可以是包含列的表示式。例如,下表就可以將每一年的銷售額存放在不同的分割槽裡。
create table sales(
order_date datetime not null,
--Other columns
)engine=InnoDB partition by range(Year(order_date))(
partition p_2010 values less then (2010),
partition p_2011 values less then(2011),
partition p_catchall values less then maxvalue);
mysql還支援鍵值,雜湊和列表分割槽。
系統透過子分割槽可降低索引的互斥訪問的競爭。最近一年的分割槽的資料會被非常頻繁地訪問,這會導致大量的互斥鎖的競爭。使用雜湊子分割槽可以
將資料切成多個小片,大大降低互斥量的競爭問題。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29033984/viewspace-2148458/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 學習筆記】分割槽表和分割槽索引——新增表分割槽(二)筆記索引
- 【學習筆記】分割槽表和分割槽索引——分割槽表的其他管理(三)筆記索引
- 分割槽表學習筆記筆記
- 【學習筆記】分割槽表和分割槽索引——管理索引分割槽(四)筆記索引
- 【MYSQL】 分割槽表MySql
- MySQL 分割槽表MySql
- MySQL分割槽表MySql
- MySQL資料表分割槽手記MySql
- 【學習筆記】分割槽表和分割槽索引——概念部分(一)筆記索引
- MySQL 分割槽表探索MySql
- mysql 分表 分割槽MySql
- mysql 分割槽表用法MySql
- MySQL表分割槽管理MySql
- 【三思筆記】 全面學習Oracle分割槽表及分割槽索引筆記Oracle索引
- MySQL 分割槽表 partition線上修改分割槽欄位MySql
- hive學習筆記之四:分割槽表Hive筆記
- mysql 進行表分割槽MySql
- Mysql表分割槽實現MySql
- MySQL入門--分割槽表MySql
- mysql —— 分表分割槽(1)MySql
- MySQL的List分割槽表MySql
- Mysql表分割槽實操MySql
- MySQL分割槽表的分割槽原理和優缺點MySql
- 將mysql非分割槽錶轉換為分割槽表MySql
- MySQL 分割槽表知識整理MySql
- MySQL調優之分割槽表MySql
- mysql的分割槽和分表MySql
- mysql的分割槽與分表MySql
- mysql分割槽表小結2MySql
- mysql表水平拆分和分割槽分表MySql
- oracle分割槽表和分割槽表exchangeOracle
- 分割槽索引學習筆記索引筆記
- (3) MySQL分割槽表使用方法MySql
- mysql之分割槽表小結1MySql
- 全面學習分割槽表及分割槽索引(13)--分隔表分割槽索引
- oracle分割槽表和非分割槽表exchangeOracle
- mysql~關於mysql分割槽表的測試MySql
- Oracle分割槽表及分割槽索引Oracle索引