色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

mysql按月分區(qū)按天分塊

林子帆2年前9瀏覽0評論

MySQL存儲數(shù)據(jù)時,分區(qū)分塊可以提高查詢和管理效率。分區(qū)是將表拆分為若干個分區(qū),每個分區(qū)獨(dú)立存儲數(shù)據(jù),可根據(jù)分區(qū)條件進(jìn)行快速查詢;分塊是將分區(qū)再次拆分為若干個塊,每個塊存儲特定時間段的數(shù)據(jù),可根據(jù)時間條件進(jìn)行快速查詢。

按月分區(qū)、按天分塊是常用的分區(qū)分塊方式。按月分區(qū)可將表按月份劃分為若干個分區(qū),每個分區(qū)存儲該月份的數(shù)據(jù);按天分塊可將每個分區(qū)再次拆分為若干個塊,每個塊存儲該天的數(shù)據(jù)。

-- 按月分區(qū)
CREATE TABLE `orders` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`order_no` varchar(20) NOT NULL COMMENT '訂單編號',
`order_date` date NOT NULL COMMENT '下單日期',
`customer_id` int(11) NOT NULL COMMENT '客戶編號',
PRIMARY KEY (`id`,`order_date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
PARTITION BY RANGE(TO_DAYS(order_date)) (
PARTITION p202105 VALUES LESS THAN (TO_DAYS('2021-06-01')),
PARTITION p202106 VALUES LESS THAN (TO_DAYS('2021-07-01')),
PARTITION p202107 VALUES LESS THAN (TO_DAYS('2021-08-01')),
PARTITION p202108 VALUES LESS THAN (TO_DAYS('2021-09-01')),
PARTITION p202109 VALUES LESS THAN (TO_DAYS('2021-10-01')),
PARTITION p202110 VALUES LESS THAN (TO_DAYS('2021-11-01')),
PARTITION p202111 VALUES LESS THAN (TO_DAYS('2021-12-01')),
PARTITION p202112 VALUES LESS THAN (TO_DAYS('2022-01-01'))
);
-- 按天分塊
ALTER TABLE orders PARTITION BY HASH(TO_DAYS(order_date)) PARTITIONS 31;

以上代碼創(chuàng)建了一張名為orders的表,按月分區(qū)、按天分塊。按月分區(qū)使用RANGE方式,按下單日期按日生成每月一個分區(qū);按天分塊使用HASH方式,將每個分區(qū)再次拆分為31個塊,每個塊存儲一天的數(shù)據(jù)。