MySQL——常用SQL优化(一)

来源:互联网 发布:gpgpu编程技术 编辑:程序博客网 时间:2024/06/08 17:00

一、大批量数据的插入。

当使用load命令导入数据时,适当的设置可以有效提高速度。

(一)、对于MyISAM存储引擎的表,可以通过一下方式快速地批量导入数据。

DISABLES KEYS和ENABLE KEYS用来打开或者关闭MyISAM表非唯一索引的更新。在导入大量数据到一个非空的MyISAM表时,通过设置这两个命令,可以提高导入速率。对于导入速率到一个空的MyISAM表,默认表示先导入数据然后再创建索引。所以不用进行设置。

   


(二)、InnoDB存储引擎的表。

a、因为InnoDB类型的表是按照主键的顺序保存的,所以将导入的数据按照主键顺序排序,可以有效提高导入数据的效率。

b、在导入数据前,执行set unique_checks=0,关闭唯一性校验。导入结束后,执行set unique_checks=1,恢复唯一性校验,可以提高导入的效率。

c、如果应用设置自动提交事务,那么在导入数据前,执行set autocommit=0,关闭自动提交。导入数据结束后,执行set autocommit=1,开启自动提交事务。可以有效提高导入效率。


1 0