在使用MySQL建立視圖查詢分表時,我們需要將原始表分成多個小表,然后通過視圖將這些小表組合在一起,以便于查詢。
-- 創建用戶表2019 CREATE TABLE `user_2019` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `age` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- 創建用戶表2020 CREATE TABLE `user_2020` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `age` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- 創建視圖user_all,將兩張表組合在一起 CREATE VIEW `user_all` AS SELECT * FROM `user_2019` UNION ALL SELECT * FROM `user_2020`;
在建立好視圖之后,我們可以通過以下語句查詢所有用戶信息:
SELECT * FROM `user_all`;
通過MySQL建立視圖查詢分表,可以為我們節省大量的查詢時間,提高查詢效率。