在mysql中选择多个表并组合结果

时间:2014-07-30 06:01:15

标签: mysql sql

我们的团队使用mysql作为数据库。由于数据量很大。我们通过一些特定的字段值将原始数据库和表分割为多个。

例如,我们在Info中有数据库信息和表t_roll_logt_roll_log的定义可能类似于

create table `t_roll_log`(
`F_user_id` bigint(20) unsigned NOT NULL,
`F_name`    varchar(256) NOT NULL default '',
PRIMARY KEY(`F_user_id`)
)ENGINE=InnDB

我们将原始数据库拆分为100个,每个包含10个表,使用F_user_id的最后三位数。例如,F_user_id=1020记录位于Info_02.t_roll_log_02_0,而F_user_id=7721记录位于Info_72.t_roll_log_72_1

在这种情况下,当有大量数据库读/写时,我们减少了表的压力。但问题是,如果不使用外部脚本(如PHP或Python),我可以轻松地从这1000个表中获取结果吗?

例如,在mysql客户端中,也许我想计算t_roll_log中的总记录数,我正在寻找像这样的东西

select count(*) from Info_{00~99}.t_roll_log_{00~99}_{0~9} ;

mysql是否支持类似的语法,或者mysql中是否存在For循环语法?

谢谢。

0 个答案:

没有答案