• 问题分析探讨 --> 大约有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水平不是很强,我们要想到这一点.

     
  • 相关阅读:
    VS2008 环境中完美搭建 Qt 4.7.4 静态编译的调试与发布 Inchroy's Blog 博客频道 CSDN.NET
    编写可丢弃的代码
    c++ using namespace std; 海明威 博客园
    解决MySQL server has gone away
    nginx upstream 调度策略
    (2006, 'MySQL server has gone away') 错误解决 dba007的空间 51CTO技术博客
    Linux IO模型漫谈(2) 轩脉刃 博客园
    redis源码笔记 initServer 刘浩de技术博客 博客园
    MySQLdb批量插入数据
    词库的扩充百度百科的抓取你知道这些热词吗? rabbit9898 ITeye技术网站
  • 原文地址:https://www.cnblogs.com/aukle/p/3235496.html
Copyright © 2020-2023  润新知