Mysql
從 MySQL 中具有相同模式的多個表中選擇 UNION
我想
SELECT
(組合)來自具有相同架構的多個表的記錄。這是我使用的查詢:SELECT visitor_name, in_time, out_time, blacklist FROM visitor_archive_2012 UNION SELECT visitor_name, in_time, out_time, blacklist FROM visitor_archive_2013 UNION SELECT visitor_name, in_time, out_time, blacklist FROM visitor_archive_2014 UNION SELECT visitor_name, in_time, out_time, blacklist FROM visitor_archive_2015
我很確定有一種不那麼冗餘和冗長的方式來編寫這個查詢。每個表的架構完全相同。這是在 MySQL 5.6 中
是的,有一種不那麼冗餘/冗長的方式——
PARTITION
按年一張表。然後一個人SELECT
就可以完成這項工作。但是,這甚至可能不明智。將其拆分為多個表可以使哪些查詢受益?
正如@Rick 所說,我首先會質疑為什麼你需要有單獨的表,但假設這是你無法控制的,如果這是一個正常查詢,創建視圖可能是最簡單的。如果這些是 MyISAM 表,您也可以考慮使用 Merge 表。