最好的方法是什么,比如:
select * from (显示类似“T_DATA___”的表) //无效
有600多个表的名称为T_DATAxy,其中x和y是字母
发布于 2011-02-11 07:43:03
这个设计出了严重的问题。一次访问600个表意味着访问磁盘上多达1800个文件。您应该对此数据进行分区。
不过,我似乎记得一个UNION中最多只能合并32个表。
发布于 2011-02-11 11:01:36
您可以获得所需数据的表列表(显示像__这样的表),然后使用mysql dump,传入该列表。
http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html
如果您决定从SQL查询中获取它,则可以使用宏生成适当的sql查询,并一次性执行所有这些查询。例如,获取表列表,将换行符替换为";( newline ) select * from ",执行所有查询。( emacs mysql模式使这一点变得非常简单)。
正如另一个评论者所说,由于#-table的限制,您不能在单个查询中做到这一点。
https://stackoverflow.com/questions/4963904
复制相似问题