问题分析探讨 --> 大约有700W数据的表,把当天的10W数据select导入新表,整个原来的表就锁死
2015-04-28 10:58
239 查看
Sun shine 16:15:55
帅哥 我有个手机表 大约有700百数据,,每天新增 大约五万,并且新也有update 大约10万 然后 我每晚 把当天的数据select 导入一个新表中的时候 整个表就锁死了, 有什么好的解决方案吗
黄杉() 17:32:18
你的导入方式是?
刚才在忙
你的导入方式或者大概过程是怎么样的?
Sun shine 17:43:39
insert 表 a select * from 表b where time=day
黄杉() 17:49:45
数据量一次性操作太多了
分成N个小的sql试下
Sun shine 17:50:17
每次大约 6万条
黄杉() 17:50:18
比如, 5分钟的数据拉一次
Sun shine 17:50:28
好的 我试试。
黄杉() 17:50:39
每拉一次,间隔5分钟
做成一个contrab任务
Sun shine 17:51:30
我这边是直接 程序 jdbc 写的sql
黄杉() 17:52:27
那就做一个java的quart任务
放到业务最低峰的时候执行。
Sun shine 17:52:49
恩是的,现在是每天导入一次。
黄杉() 17:53:08
分多次导入吧,我猜测你们的mysql服务器配置很低吧
Sun shine 17:53:38
服务器 是 8g内存 4核的。
整个服务器就放了一台数据库
黄杉() 17:54:01
好吧,跟我们的个人pc机差不多的配置
Sun shine 17:55:04
是的 比较低。
公司小,一切都得省 得重程序的方面去优化。
黄杉() 17:55:55
那么操作的时候,就每次执行少量的数据,不要太多了,磁盘io,cpu啥以及内存啥的消耗少一些
创业型的公司吧
前途大大的
加油
Sun shine 17:56:34
对的,刚创业的公司。
技术人员配的不齐,我们写程序的 也得搞数据库。
黄杉() 17:57:15
那以后就是多面手了, cto的候选人
Sun shine 17:58:26
这个 还要很多年的磨练
黄杉() 17:58:44
insert 表 a select * from 表b where time=day 中, time字段有索引吗?
Sun shine 18:10:58
没有 ,准备建立个索引
黄杉() 18:11:42
那要建个索引的,不然会很慢的
总结: 这种查询慢锁表第一问就应该咨询where后面的time字段有无建索引,是自己疏忽了.有些开发人员的db水平不是很强,我们要想到这一点.
帅哥 我有个手机表 大约有700百数据,,每天新增 大约五万,并且新也有update 大约10万 然后 我每晚 把当天的数据select 导入一个新表中的时候 整个表就锁死了, 有什么好的解决方案吗
黄杉() 17:32:18
你的导入方式是?
刚才在忙
你的导入方式或者大概过程是怎么样的?
Sun shine 17:43:39
insert 表 a select * from 表b where time=day
黄杉() 17:49:45
数据量一次性操作太多了
分成N个小的sql试下
Sun shine 17:50:17
每次大约 6万条
黄杉() 17:50:18
比如, 5分钟的数据拉一次
Sun shine 17:50:28
好的 我试试。
黄杉() 17:50:39
每拉一次,间隔5分钟
做成一个contrab任务
Sun shine 17:51:30
我这边是直接 程序 jdbc 写的sql
黄杉() 17:52:27
那就做一个java的quart任务
放到业务最低峰的时候执行。
Sun shine 17:52:49
恩是的,现在是每天导入一次。
黄杉() 17:53:08
分多次导入吧,我猜测你们的mysql服务器配置很低吧
Sun shine 17:53:38
服务器 是 8g内存 4核的。
整个服务器就放了一台数据库
黄杉() 17:54:01
好吧,跟我们的个人pc机差不多的配置
Sun shine 17:55:04
是的 比较低。
公司小,一切都得省 得重程序的方面去优化。
黄杉() 17:55:55
那么操作的时候,就每次执行少量的数据,不要太多了,磁盘io,cpu啥以及内存啥的消耗少一些
创业型的公司吧
前途大大的
加油
Sun shine 17:56:34
对的,刚创业的公司。
技术人员配的不齐,我们写程序的 也得搞数据库。
黄杉() 17:57:15
那以后就是多面手了, cto的候选人
Sun shine 17:58:26
这个 还要很多年的磨练
黄杉() 17:58:44
insert 表 a select * from 表b where time=day 中, time字段有索引吗?
Sun shine 18:10:58
没有 ,准备建立个索引
黄杉() 18:11:42
那要建个索引的,不然会很慢的
总结: 这种查询慢锁表第一问就应该咨询where后面的time字段有无建索引,是自己疏忽了.有些开发人员的db水平不是很强,我们要想到这一点.
相关文章推荐
- 问题分析探讨 --> 大约有700W数据的表,把当天的10W数据select导入新表,整个原来的表就锁死
- 问题分析探讨 --> 大约有700W数据的表,把当天的10W数据select导入新表,整个原来的表就锁死
- 问题分析探讨 --> 大约有700W数据的表,把当天的10W数据select导入新表,整个原来的表就锁死
- C# 从Excel2003将数据导入到SQL2005,数据发生截断的问题分析
- C# 从Excel2003将数据导入到SQL2005,数据发生截断的问题分析
- Solr1.4.0源码分析(一) 解决DataImportHandler从数据库导入大量数据而内存溢出的问题
- List<T>.Contains(T item)为什么我把两封一样的邮件经分析后一模一样的数据mail_data先后导入进去,第2封信还是会加到mailList里去 ?? 搞不懂..
- 小白学数据分析-----> 有关于流失分析的探讨
- asp.net<Web版> ---将excel表数据导入到数据库问题<一>---未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0” 提供程序
- 小白学数据分析----->3D移动网络游戏需要关注的问题
- excel内容导入数据库数据丢失问题的分析几解决方法
- 【VB】sql数据的导入导出与删除修改<增删改查>(机房问题)
- Android开发-数据存储SharedPreferences工具类、Set<String>保存问题、源码分析
- mysql导入导出sql文件 window下 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u dbuser -p dbname >
- mysql导入csv中文数据乱码问题分析与解决
- 分析Mysql大量数据导入遇到的问题以及解决方案
- Oracle数据导入导出及常见问题分析
- mysql导入导出数据中文乱码解决方法小结(1、navicat导入问题已解决,创建连接后修改连接属性,选择高级->将使用Mysql字符集复选框去掉,下拉框选择GBK->导入sql文件OK;2、phpmyadmin显示乱码的问题也解决,两步:1.将sql文件以utf8的字符集编码另存,2.将文件中sql语句中的字段字符集编码改成utf8,导入OK)
- solr源码分析之数据导入DataImporter追溯。
- Mybatis——<selectKey>生成主键/获取插入数据主键