zerovpp 2017-06-25 07:28 采纳率: 0%
浏览 964

百万行级表作update,报Lost connection to...during query

环境:mac os10.12 ,intel 2.7G CPU,mysql 5.7,navicat for mysql 11.2,且mysql 作了相关优化,如下图(均在本机使用,小本内存16G):

1、需求:

 两表(a/b表)字段均为:id/name/age,因a表数据正确 ,但b表name、age等数据与a表相比,有缺失,但2表id均是一样的,未作外键操作,也未作索引,在a表100行,b表300万行。

现在想让b表的name/age与a表保持一致,所以根据id来update实现:

方法一:update a,b set a.name=b.name on a.id=b.id;

方法二:update a SET t1.name= t2.name from a as t1 inner JOIN b as t2ON t1.ID =t2.ID;(换left join 或 right join均结果一样)

最后没办法,就用select看看:

SELECT a.ID,a.name,b.ID,b.name FROM a left JOIN b on a.ID=b.ID;

照样报“Lost connection"错误!

后想对ab表作索引,也报同样错误。

2、优化:

按网络上各种方法对my.cnf作了优化,如下图:
图片说明

3、在mysql终端上操作,等半小时后,电脑没在运行,也不报错,更没结果。

求教各位大神,有何办法,update百万级大表。相信不是mysql的问题,而是哪儿没掌握好方法。!

  • 写回答

2条回答 默认 最新

  • oyljerry 2017-06-25 13:12
    关注

    是不是执行时间太长,连接超时了。可以把数据分块一部分一部分更新

    评论

报告相同问题?

悬赏问题

  • ¥50 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?