mysql資料庫分區及測試

來源:互聯網
上載者:User

標籤:sql   刪除   nbsp   style   表示   ons   sql資料庫   丟失   tab   

1、 測試資料庫是否支援分區

mysql可以通過下面語句判斷是否支援分區:

SHOW VARIABLES LIKE ‘%partition%‘;

如果輸出:have_partitioning   YES 表示支援分區。

或者通過:SHOW PLUGINS;

顯示所有外掛程式,如果有partition ACTIVE STORAGE ENGINE GPL 外掛程式則表明支援分區

2、 建立測試表格

3、 將原表格式資料複製到測試的表格

Insert into table_test select * from table

4、 對測試表格進行分區

alter table ta_monitor _history_test partition by RANGE (to_days(monitor_time))  

(PARTITION p0 VALUES LESS THAN (to_days(‘2018-01-01‘)), 

PARTITION p1 VALUES LESS THAN (to_days(‘2018-03-01‘)) , PARTITION p2 VALUES LESS THAN (to_days(‘2018-05-01‘)) , 

PARTITION p3 VALUES LESS THAN (to_days(‘2018-06-01‘)) , PARTITION p4 VALUES LESS THAN (to_days(‘2018-07-01‘)) , 

PARTITION p5 VALUES LESS THAN (to_days(‘2018-08-01‘)) , PARTITION p6 VALUES LESS THAN (to_days(‘2018-09-01‘)) , 

PARTITION p7 VALUES LESS THAN (to_days(‘2018-10-01‘)) , PARTITION p8 VALUES LESS THAN (to_days(‘2018-11-01‘)) , 

PARTITION p9 VALUES LESS THAN (to_days(‘2018-12-01‘)) , PARTITION p10 VALUES LESS THAN (to_days(‘2019-01-01‘)), 

PARTITION p11 VALUES LESS THAN (to_days(‘2019-02-01‘)), PARTITION P12 VALUES LESS THAN (to_days(‘2019-03-01‘)),

PARTITION P13 VALUES LESS THAN (to_days(‘2019-04-01‘)), PARTITION P14 VALUES LESS THAN (to_days(‘2019-05-01‘)),

PARTITION P15 VALUES LESS THAN (to_days(‘2019-06-01‘)), PARTITION P16 VALUES LESS THAN (to_days(‘2019-07-01‘)),

PARTITION P17 VALUES LESS THAN (to_days(‘2019-08-01‘)), PARTITION P18 VALUES LESS THAN (to_days(‘2019-09-01‘)),

PARTITION P19 VALUES LESS THAN (to_days(‘2019-10-01‘)), PARTITION P20 VALUES LESS THAN (to_days(‘2019-11-01‘)),

PARTITION P21 VALUES LESS THAN (to_days(‘2019-12-01‘)), PARTITION P22 VALUES LESS THAN (to_days(‘2020-01-01‘)),

PARTITION P23 VALUES LESS THAN (to_days(‘2020-02-01‘)), PARTITION P24 VALUES LESS THAN (to_days(‘2020-03-01‘)),

PARTITION P25 VALUES LESS THAN MAXVALUE );

5、 查看分區

SELECT  *  FROM

  INFORMATION_SCHEMA.partitions

WHERE

  TABLE_SCHEMA = SCHEMA()

  AND TABLE_NAME=‘ta_monitor _history_test‘;

6、 測試分區

EXPLAIN SELECT

  *

FROM

  `ta_monitor _history`

WHERE monitor_time > ‘2018-07-01 01:00:00‘

  AND monitor_time< ‘2018-07-19 00:00:00‘;

 

  EXPLAIN SELECT

  *

FROM

  `ta_monitorr_history_test`

WHERE monitor_time > ‘2018-07-01 01:00:00‘

  AND monitor_time< ‘2018-07-19 00:00:00‘;

 

Rows顯示遍曆了多少行。

 

 

7、 重新定義range分區表:

Alter table emp partitionbyrange(salary)

(partition p1 values less than (2000),

partition p2 values less than (4000)); ----不會遺失資料

8、刪除表的所有分區:

Alter table emp removepartitioning;--不會遺失資料

 

 

 

 

 

mysql資料庫分區及測試

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.