您的位置:首页 > 数据库 > MySQL

MYSQL中insert...select优化?

2015-06-28 10:54 411 查看
以前是弄Oracle的,但是公司现在用的数据库是MYSQL,我们需要统计天报表,周报表和月报表,都应用了分表操作,但是在汇总的时候还是很忙,我们用的表结构是MyISAM,这个表结构是不能改变了。

数据量都是比较的大,大概在1000万左右,我们用的语句很多都是insert...select,也就是汇总后插入到临时表,然后在统计,这样下来,效率很慢,跑一个大概在2个小时左右,不知道有没有好的办法优化一下,最好能一个小时搞定

有没有好的思路提供一下,谢谢

也就是,你先把每天写入的数据,先进行汇总,以便用于再统计

比如有三条数据

username num createdate

a 1 2011-2-10 10:00:01

a 6 2011-2-10 11:00:01

a 7 2011-2-10 17:00:01

你先汇总成一条数据

a 14 2011-2-10

若再做周报表的时候,就在日汇总的基础之上,搞月统计就在日统计 或者在周统计的基础之上(有些时候,把月划分为4周的模式,才可用),季度统计就在月统计的基础上再做

这样的统计思路都是最常用的,需要你根据数据项做一些统计汇总(或称中间表)

以前是弄Oracle的,但是公司现在用的数据库是MYSQL,我们需要统计天报表,周报表和月报表,都应用了分表操作,但是在汇总的时候还是很忙,我们用的表结构是MyISAM,这个表结构是不能改变了。

数据量都是比较的大,大概在1000万左右,我们用的语句很多都是insert...select,也就是汇总后插入到临时表,然后在统计,这样下来,效率很慢,跑一个大概在2个小时左右,不知道有没有好的办法优化一下,最好能一个小时搞定

有没有好的思路提供一下,谢谢
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: