MySQL是一款流行的關系型數據庫管理系統,它支持對分區表進行查詢。
分區表是一種將大型數據表按照某個規則分成多個小表的技術,這樣可以提升查詢效率,減少數據庫的負載壓力。
下面我們介紹一下MySQL如何執行分區表查詢:
-- 創建分區表 CREATE TABLE `orders` ( `id` int(11) NOT NULL auto_increment, `order_no` varchar(20) NOT NULL default '', `total_price` decimal(10,2) NOT NULL default '0.00', `order_time` datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY (`id`,`order_no`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 PARTITION BY RANGE (year(order_time)) ( PARTITION p_2020 VALUES LESS THAN (2021), PARTITION p_2021 VALUES LESS THAN (2022), PARTITION p_2022 VALUES LESS THAN (2023), PARTITION p_2023 VALUES LESS THAN MAXVALUE ); -- 查詢分區表 SELECT * FROM orders PARTITION (p_2020, p_2021) WHERE order_time BETWEEN '2020-01-01' AND '2021-12-31';
上述代碼中,我們先創建了一個按照訂單時間分區的orders表,將數據分為2020年、2021年、2022年和其他時間段。然后我們使用PARTITION關鍵字,指定需要查詢的分區,使用BETWEEN語句指定時間范圍,就可以查詢出需要的數據了。