/*建立分割槽表按月份分割槽*/
create table o_order(id int auto_increment comment '序號',
orderid varchar(200) comment '訂單號',
account varchar(50) comment '帳號',
status int comment '狀態 0進行中 1成功 2失敗',
addtime datetime comment '新增時間',
rvctime datetime comment '完成時間',
remark varchar(200) comment '備註',
primary key (id,addtime)
)engine=innodb partition by range(to_days(addtime))
( partition p201411 values less than (to_days('2014-11-01')),
partition p201412 values less than (to_days('2014-12-01')),
partition p201501 values less than (to_days('2015-01-01')),
partition p201502 values less than (to_days('2015-02-01')),
partition p201503 values less than (to_days('2015-03-01')));
新增分割槽
alter table o_order add partition (partition p201504 values less than (to_days('2015-04-01')));
刪除分割槽
alter table o_order drop partition p201504;
-- 檢視分割槽表資訊
show create table o_order;
show table status like 'o_order';
select
partition_name part,
partition_expression expr,
partition_description descr,
table_rows
from
information_schema.partitions
where
table_schema = schema()
and table_name='表名';
ORACLE建立分割槽表及分割槽表的資料遷移
對於目前資料量較大的表,report ap stat hour 2個月有1900萬 client offline history 2個月有4800萬 如果儲存超過一年資料將達數億,對這種級別的資料索引優化已經達不到要求的 15秒之內完成查詢 因此需要進行按月分表,使用oracle11g的新特性int...
MySQL分割槽表
分割槽表是一種粗粒度,簡易的索引策略,適用於大資料的過濾場景.最適合的場景是,沒有合適的索引時,對其中幾個分割槽表進行全表掃瞄.或者只有乙個分割槽表和索引是熱點,而且這個分割槽和索引能夠全部儲存在記憶體中.限制單錶分割槽數不要超過150個,並且注意某些導致無法做分割槽過濾的細節,分割槽表對於單條記錄...
mysql分割槽表
對使用者來說,分割槽表是乙個獨立的邏輯表,但是底層由多個物理子表組成。實現分割槽的 實際上是對一組底層表的控制代碼物件的封裝。mysql在建立表時使用partition by子句定義每個分割槽存放的資料。在執行查詢的時候,優化器會根據分割槽定義過濾那些沒有我們需要資料的分割槽,這樣查詢就無須掃瞄所有...