查询多个MySQL表

时间:2011-02-10 23:29:33

标签: mysql

最好的办法是:

select * from(显示类似“T_DATA___”的表)//无效

有超过600个名为T_DATAxy的表,其中x和y是字母

2 个答案:

答案 0 :(得分:0)

这种设计出了问题。一次访问600个表意味着在磁盘上访问多达1800个文件。你应该改为对这些数据进行分区。

就问题而言,我担心你需要使用存储过程或外部应用程序来构建多个UNION查询语句。不过,我似乎记得在UNION中合并了32个表的限制。

答案 1 :(得分:0)

您可以获取所需数据的表列表(显示__表),然后使用mysql dump,传入该列表。

http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html

如果您决定从SQL查询中获取它,则可以使用宏生成适当的sql查询并立即执行它们。例如获取表列表,用“;(换行符)select * from”替换换行符,执行所有查询。 (emacs mysql模式使这非常容易)。

正如另一位评论者所说,由于#-table限制,您将无法在单个查询中执行此操作。