zoukankan      html  css  js  c++  java
  • 插入的技巧

    大批量插入数据的优化

      对于InnoDB引擎,大量插入数据时,可以采取以下几种优化措施

    1. 导入的数据按主键顺序排序保存。因为InnoDB引擎按主键顺序保存,如果能提前将插入的顺序排序能省去很多时间。
    2. 导入数据前执行 SET UNIQUE_CHECKS=0,关闭唯一性校验,在导入之后再设置为1。因为校验会耗费时间。
    3. 导入前设置 SET AUTOCOMMIT=0,关闭自动提交,导入结束后再设置为1;因为自动提交会消耗部分时间资源。

    insert的优化

    1. 尽量使用多个值表的insert语句,可以缩减客户端与数据库之间的连接、关闭等消耗。 INSERT INTO tablename values(1,2),(1,3),(1,4);
    2. 如果在不同客户端插入很多行,可使用insert delayed 语句得到更高的速度,让insert语句马上执行。
    3. 将索引文件和数据文件分在不同的磁盘上存放(InnoDB是在同一个表空间)
    4. 批量插入,可以增加bluk_insert_buffer_size变量值提供速度。(只对MyISAM有用)
    5. 当从一个文本文件装载一个表时,使用LOAD DATA INFILE,通常比INSERT语句快20倍。

    参考:https://mp.weixin.qq.com/s/Egh-xT_jMg2pO1gw1Td_Rw

  • 相关阅读:
    CentOS安装KDE
    __builtin_expect — 分支预测优化
    Linux中CPU亲和性(affinity)
    字节序
    gethostbyname
    字符串搜索算法
    排序算法
    Linux下使用http协议下载文件
    POSIX Timer
    POSIX-Data Structure
  • 原文地址:https://www.cnblogs.com/smallzhen/p/14063736.html
Copyright © 2011-2022 走看看