• 一本书
    2024-09-06 来自湖北
    https://dev.mysql.com/doc/dev/mysql-server/latest/page_protocol_basic_ok_packet.html中有As of MySQL 5.7.5, OK packets are also used to indicate EOF, and EOF packets are deprecated.,https://dev.mysql.com/doc/dev/mysql-server/latest/page_protocol_basic_eof_packet.html中有Due to changes in MySQL 5.7 in the OK_Packet packets (such as session state tracking), and to avoid repeating the changes in the EOF_Packet packet, the OK_Packet is deprecated as of MySQL 5.7.5.,到底哪个被废弃了呢?(极客时间不能删除留言重新编辑,没完全想好再问,有点打扰老师了不好意思)
    
    
  • 123
    2024-09-05 来自浙江
    思考题: 3000 万行数据,平均行长度大约为2K => 2k*3000w ≈ 57G,所以肯定是需要进行分批获取存储的 如果使用流式获取,在客户端不会有太大的压力,但是数据量过大,服务端需要承载这些内存使用,况且当前连接不能断开,又因为数据量大,可能造成超时,需要配置下对应的连接时间; 使用默认配置,就需要掌握好数据量,每次获取多少条,不能将内存打满。通过多线程并设置好偏移量的方式来保证数据不会被重复插入,例如批量一次插入50000条,多线程并行插入。但是批量插入的值不能设置的太小,不然就没有意义,还是要承担网络、事务提交、索引更新等开销。最终还是要根据目标库的写能力来决定,可以测试下目标库对应的写入性能,在决定并发插入多少条合适。
    
    