如何查询拆分为 2 个较小表的表?联盟?看法?
Posted
技术标签:
【中文标题】如何查询拆分为 2 个较小表的表?联盟?看法?【英文标题】:how can i query a table that got split to 2 smaller tables? Union? view? 【发布时间】:2010-06-06 16:59:36 【问题描述】:我有一个非常大的表(近 2,000,000 条记录),它被拆分为 2 个较小的表。一个表只包含上周的记录,另一个包含所有其余的(很多......)
现在我得到了一些存储过程/函数,用于在拆分之前查询大表。
我仍然需要他们来查询两个表的联合,但是似乎创建一个使用两个表之间联合语句的视图会永远持续......
这是我的看法:
CREATE VIEW `united_tables_view` AS select * from table1 union select * from table2;
然后我想将存储过程从'oldBigTable'中选择的所有位置切换到从'united_tables_view'中选择...
我尝试添加索引以缩短时间,但没有任何帮助... 有什么想法吗?
PS
视图和联合是我的想法,但任何其他创意都是完美的!
来吧!
谢谢!
【问题讨论】:
【参考方案1】:如果有理由不这样做,您应该合并表而不是不断地查询它们。 这是 *** 上关于这样做的问题:
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
【讨论】:
以上是关于如何查询拆分为 2 个较小表的表?联盟?看法?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 N 个较小的矩形上拆分一个大矩形以使其看起来随机? [关闭]