我有一个非常大的表(将近 2,000,000 条记录)拆分为 2 个较小的表。一张表只包含上周的记录,另一张表包含所有其余的(很多......)
现在我得到了一些存储过程/函数,用于在拆分之前查询大表。
我仍然需要它们来查询两个表的并集,但是创建一个使用两个表之间的联合语句的 View 似乎永远持续......
这是我的观点:
CREATE VIEW `united_tables_view` AS select * from table1 union select * from table2;
然后我想在所有地方切换存储过程从“oldBigTable”中选择以从“united_tables_view”中选择...
我试过添加索引来缩短时间,但没有任何帮助... 有什么想法吗?
附言
view 和 union 是我的想法,但任何其他创意都是完美的!
来吧!
谢谢!
最佳答案
如果有理由不这样做,您应该合并表而不是不断地查询它们。 这是 StackOverflow 上关于这样做的问题:
How can I merge two MySQL tables?
如果您需要将它们分开,您可以使用如下语法:
SELECT table1.column1, table2.column2 FROM table1, table2 WHERE table1.column1 = table2.column1;
这是一篇关于何时使用 SELECT、JOIN 和 UNION 的文章 https://web.archive.org/web/1/http://articles.techrepublic%2ecom%2ecom/5100-10878_11-1050307.html
关于mysql - 我如何查询拆分为 2 个较小表的表?联盟?看法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2985021/