千万级的表如何统计每用新增的数量

喝水不喝茶 2017-12-19 10:45:41
现有数据表十个,都存放的是地点信息,该十个表每个数量都上千万,每月固定一个时间段往里添加数量,有则修改,无则新增。
现每次插入数量后需要统计新增了多少条,现在只有upttime上有索引,addtime上没有索引。
该如何快递进行统计每月的新增量?
...全文
364 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
喝水不喝茶 2017-12-21
  • 打赏
  • 举报
回复
引用 13 楼 zjcxc 的回复:
看来你的机器比较差劲吧 另外,你弄到另一个表是直接用 insert into select ? 如果是,那是要命的,整个操作在一个事务里面 尝试用循环 insert into select order by 主键 limit 0, 10000这类的分批方式
不知道是电脑实在太差还是怎么,循环插入一次100条也能卡住,最后没办法了,只能每次查询100条,再判断时间。
zjcxc 2017-12-20
  • 打赏
  • 举报
回复
看来你的机器比较差劲吧 另外,你弄到另一个表是直接用 insert into select ? 如果是,那是要命的,整个操作在一个事务里面 尝试用循环 insert into select order by 主键 limit 0, 10000这类的分批方式
喝水不喝茶 2017-12-20
  • 打赏
  • 举报
回复
引用 11 楼 zjcxc 的回复:
或者你可以建个包含索引的表,把数据弄过去,如果统计发现没问题,就把原来的表删除,然后把新的有索引的表改名为旧表
我试了一下我说的这个方法,还找了个小点的表,400W数据,执行半个小时,一条数据都没有插入到临时表 然后试了下加索引,也是400W的表,也是一直卡住加不成功。
zjcxc 2017-12-20
  • 打赏
  • 举报
回复
或者你可以建个包含索引的表,把数据弄过去,如果统计发现没问题,就把原来的表删除,然后把新的有索引的表改名为旧表
zjcxc 2017-12-20
  • 打赏
  • 举报
回复
索引的目的是以后都能用得上,不用每次都建 如果用临时表,意味着每次都要这样,这个时间开销加上,估计比直接统计的时间开销更大了
喝水不喝茶 2017-12-20
  • 打赏
  • 举报
回复
引用 8 楼 zjcxc 的回复:
超时就把超时时间开长点,上千万,应该几分钟就好了
我打算新建一个临时表,临时表先加索引,再把数据先插入临时表,用临时表来统计,这个方法是否可行呢?
zjcxc 2017-12-20
  • 打赏
  • 举报
回复
超时就把超时时间开长点,上千万,应该几分钟就好了
wandier 2017-12-20
  • 打赏
  • 举报
回复
如果数据量大,可以做成日任务,每天晚上凌晨count插入统计表每天新增的用户就知道了,每月的也肯定知道,提供参考
zjcxc 2017-12-19
  • 打赏
  • 举报
回复
加上索引不就行了?
喝水不喝茶 2017-12-19
  • 打赏
  • 举报
回复
引用 5 楼 zjcxc 的回复:
超时? 报错?
超时
zjcxc 2017-12-19
  • 打赏
  • 举报
回复
超时? 报错?
喝水不喝茶 2017-12-19
  • 打赏
  • 举报
回复
引用 2 楼 rucypli 的回复:
uptime是空的不就是新增的吗
uptTime也是插入的时间
喝水不喝茶 2017-12-19
  • 打赏
  • 举报
回复
引用 1 楼 zjcxc 的回复:
加上索引不就行了?
我也是想着加索引啊,但是一直加不成功。
rucypli 2017-12-19
  • 打赏
  • 举报
回复
uptime是空的不就是新增的吗

56,940

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧