首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 分區表效能實測(四):垂直分區與元數據管理

     編輯:MySQL 資料庫相關知識

實測場景回顧

承接前文,我們在分區表 part_tab 中移除 VARCHAR 欄位 c2 後,查詢效能再獲 90% 提升:

ALTER TABLE part_tab DROP COLUMN c2;
-- 800 萬筆資料,耗時 42.20 秒

SELECT COUNT(*) FROM part_tab 
WHERE c3 > '1995-01-01' AND c3 < '1995-12-31';
-- 僅 0.34 秒,僅掃描單一分區

結論:資料表設計時應審視每個欄位是否真正被查詢使用,移除無關欄位可大幅降低 I/O 與記憶體壓力。

MySQL 5.1 分區機制補充重點

  • 全引擎支援:MyISAM、Archive、InnoDB 等皆可使用分區。
  • 本地索引:分區表的索引為一對一鏡像,若表有 10 個分區,索引也有 10 個對應分區。
  • 元數據查詢:INFORMATION_SCHEMA.PARTITIONS 表記錄分區中繼資料。
  • 所有 SHOW 指令支援分區資訊。

分區維護指令

比一般表多出以下操作:

ADD PARTITION
DROP PARTITION
COALESCE PARTITION
REORGANIZE PARTITION
ANALYZE PARTITION
CHECK PARTITION
OPTIMIZE PARTITION
REBUILD PARTITION
REPAIR PARTITION

效能與管理雙贏

合理的分區設計能同時提升查詢效能、簡化資料存留/歸檔管理,減輕 DBA 負擔。詳細技術文件請參考:

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved