• MySQL存储过程插入数据过慢处理方法(转)


    在使用存储过程进行千万条数据的插入的时候,插入效率在每分钟七千条左右,这样算下来,需要几十个小时,所以找了一下优化的方法,除了对存储过程本身的优化,还有就是修改了MySQL的配置文件的部分参数

    我做了以下几个参数的修改

    • innodb_log_file_size = 1024M

      日志组中的每个日志文件的大小,设置较大的值可以减少脏数据刷新到磁盘的次数

    • innodb_log_buffer_size = 256M  

    将日志写入日志磁盘文件前的缓冲大小,默认是16M,设置较大的值可以使日志在缓冲时不需要被保存到磁盘,减少磁盘读取次数

    • innodb_flush_log_at_trx_commit = 0

    将日志中的缓冲数据写入磁盘,默认为1,即每次提交事务都会写入磁盘,改为0后将减少写入磁盘的次数

    • innodb_buffer_pool_size = 4G

    该值用来高速缓冲数据和索引内存缓冲大小,也是减少磁盘IO来增加速度,一般设置为物理存储的60%~70%

    • innodb_buffer_pool_instances = 4 

    增加多个缓冲池,提高并行内存读写能力

    • innodb_write_io_threads = 8  &&  innodb_read_io_threads = 8

    增加IO线程数,提高读写能力,根据机器的处理器来设置

    • innodb_io_capacity = 500

    提高刷新脏页数量和合并插入数量,改善磁盘I/O处理能力,默认200

    以上参数修改都是通过减少对磁盘的IO操作来实现的,包括关闭了MySQL默认的事务存储到磁盘的操作,增大缓冲区的容量,这样子容易造成MySQL服务器宕机的时候,数据大量丢失,建议不要在生产环境下修改这些配置,根据实际情况修改

    本文转自:https://blog.csdn.net/qq_36182135/article/details/84854619

  • 相关阅读:
    nginx设置账号密码--htpasswd的使用
    Sublime Text 3安装Json格式化插件
    Visual Studio code 代码格式化整理
    安装uwsgi 报错“fatal error: Python.h: No such file or directory”
    Nginx 访问优先级配置
    Git 代码回退回退一个版本或多个版本
    SQL 常用方法例子
    SQL 常用方法函数
    FlipViewDemo
    data1是字符串?需要加上引号
  • 原文地址:https://www.cnblogs.com/yadongliang/p/13893023.html
一二三 - 开发者的网上家园