mysql中插入大批量数据如何设置参数

set global max_allowed_packet=1024 *1024 * 512; # 单个packet可以允许的最大值
set global max_connections = 60000; # 并发连接请求量比较大,建议调高此值,以增加并行连接数量
set global innodb_lock_wait_timeout=16 * 1024; # 事务锁超时时间,默认50s,超过就报错
set global bulk_insert_buffer_size=512 * 1024 * 1024; # 加快insert插入效率
set global wsrep_max_ws_size=1024*1024*1024*4; # 避免事务大小超过限制,最大4G

注意:

  1. 导入大批量数据建议在DOS窗口或者Xhsell里面连接Mysql数据库管理系统,直接使用source命令导入,原因是Navicat需要把请求发送到Mysql数据库管理系统,另外还掺杂着事务,所以最好不要在导入大批量数据的时候使用,但是source命令是Mysql自带的命令,可以直接和Mysql进行交互,例如source sql文件全路径地址
  2. 如果你一定要使用Navicat,在设置上述参数之后先关闭Navicat,然后在打开Navicat,这些参数才能生效,至于生效与否可以通过获取当前参数值语句查看(即:select @@参数名称),这也就是网上所说的:“命令行修改之后,需要退出当前回话(关闭当前mysql server链接),然后重新登录才能查看修改后的值。”
  3. 以上参数设置只能在本次有效,如果Mysql重启这些参数设置就失效了,如果想让这些参数长期生效,需要在my.cnf配置文件中修改,具体设置方法请查询互联网,比如https://www.jb51.net/article/58727.htm,这也就是网上所说的:“通过命令行修改只能临时生效,下次数据库重启后又复原了。”
  4. 命令行修改时,只能使用字节作为单位,默认就是字节,所以不用写单位,,但是配置文件修改可以设置M、G单位。
  5. max_allowed_packet 最大值是1G(1073741824),如果设置超过1G,查看最终生效结果也只有1G。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值