MySQL基礎 大幅度提高效能方案,分割槽表

2021-08-30 18:58:26 字數 1263 閱讀 2795

下面就筆者工作中遇到的時間問題,模擬一下情況對大家進行介紹.

工作中仍然是海量資料出現的情況.每年大概會有幾億條記錄.而且資料的時效性比較強.但歷史資料仍然要求保留.這個時候經過分析和研究,最終決定通過時間字段進行分割槽.下面是分割槽表的建立**.讀者門在插入了不同年份時間段以後,可以時間欄位為條件進行查詢,可以看到資料庫掃瞄過的區段.

create table part_data

(c1 int default null,

c2 varchar(30) default null,

c3 date default null)

partition by range (to_days(c3))

(partition p0 values less than (to_days('1995-01-01')),

partition p1 values less than (to_days('1996-01-01')) ,

partition p2 values less than (to_days('1997-01-01')) ,

partition p3 values less than (to_days('1998-01-01')) ,

partition p4 values less than (to_days('1999-01-01')) ,

partition p5 values less than (to_days('2000-01-01')) ,

partition p6 values less than (to_days('2001-01-01')) ,

partition p7 values less than (to_days('2002-01-01')) ,

partition p8 values less than (to_days('2003-01-01')) ,

partition p9 values less than (to_days('2004-01-01')) ,

partition p10 values less than (to_days('2010-01-01')),

partition p11 values less than maxvalue );

分割槽查詢,可以檢視掃瞄過的區段.當然要加上where子句,以c3時間為條件進行檢索.若不使用時間字段,分割槽將失去作用.

explain partitions select * from part_data\g

MySQL基礎 大幅度提高效能方案,分割槽表

下面就筆者工作中遇到的時間問題,模擬一下情況對大家進行介紹.工作中仍然是海量資料出現的情況.每年大概會有幾億條記錄.而且資料的時效性比較強.但歷史資料仍然要求保留.這個時候經過分析和研究,最終決定通過時間字段進行分割槽.下面是分割槽表的建立 讀者門在插入了不同年份時間段以後,可以時間欄位為條件進行查...

Exists的妙用,大幅度提高查詢速度

這段時間碰到乙個模組,sql查詢特別的慢,一直在努力想辦法優化它。問題的 這是乙個生產加工的模組存在的問題,主從記錄。主表主要字段 狀態 未複核 0,複核 1,生產完成 3 id,主表記錄生產時間,客戶名稱,要求交貨日,下單人,下單時間等等,從表主要字段 貨品編號,貨品名稱,生產數量,領料數量,主記...

MySQL臨時提高效能方案

參考自 極客時間 22 mysql有哪些 飲鴆止渴 提高效能的方法?短連線 連線到資料庫執行很少sql後就被斷開。在業務高峰期,可能會出現連線數暴漲的問題。影響 mysql建立連線的成本很高,除了正常的網路連線三次握手外,還需要做登入許可權判斷和獲得這個連線的資料讀寫許可權。如何識別不工作執行緒?首...