• 问题分析探讨 --> 大约有700W数据的表,把当天的10W数据select导入新表,整个原来的表就锁死


    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水平不是很强,我们要想到这一点.

     
  • 相关阅读:
    网页打开本地exe程序
    【JS】最简单的域名防红方法,QQ/微信打开网站提示浏览器打开
    【HTML】建站成功默认页面
    python中日志器的使用
    python中连接mysql
    python中处理配置文件
    接口实战项目总结上
    布隆过滤器和LRU Cache
    Python版常见的排序算法
    LeetCode 27. 移除元素
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3233676.html
Copyright © 2020-2023  润新知