首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 分區表入門:分區概述、類型與透明性原理

     編輯:MySQL 綜合教學

什麼是分區?

分區 = 分而治之。將一張大表按規則拆分為多個物理分區,每個分區獨立儲存資料與索引(局部分區索引)。

  • 對儲存引擎層透明:引擎不感知分區存在
  • 對應用層透明:SQL 語法無需修改
  • 核心價值:**高可用(管理便利)**,附帶效能提升

支援的分區類型

關鍵限制:分區鍵必須包含在唯一索引中


-- 錯誤:分區鍵 col3 不在唯一索引 (col1,col2) 中
CREATE TABLE t(
  col1 INT, col2 INT, col3 INT, col4 INT,
  UNIQUE KEY (col1,col2)
) PARTITION BY HASH(col3) PARTITIONS 4;
-- ERROR 1503: A PRIMARY KEY must include all columns in the table's partitioning function

-- 正確:分區鍵 col2 在唯一索引中
CREATE TABLE t(
  col1 INT, col2 INT, col3 INT, col4 INT,
  UNIQUE KEY (col1,col2)
) PARTITION BY HASH(col2) PARTITIONS 4;
-- Query OK

檢查分區功能


SHOW VARIABLES LIKE '%partition%';
-- have_partitioning = YES 表示支援
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
類型適用場景分區鍵要求
RANGE日期/數值範圍(如按年分區)整數/日期函數結果
LIST離散值列舉(如地區代碼)整數/字串值列表
HASH均勻分佈、負載平衡整數運算式
KEY類似 HASH,支援非整數列任意列,內部哈希