Mysql insert语句的优化
2016-06-03 11:22
330 查看
1) 如果你同时从同一客户插入很多行,使用多个值表的INSERT语句。这比使用分开INSERT语句快(在一些情况中几倍)。
Insert into test values(1,2),(1,3),(1,4)…
2) 如果你从不同客户插入很多行,能通过使用INSERT DELAYED语句得到更高的速度。Delayed的含义是让insert 语句马上执行,其实数据都被放在内存的队列中,并没有真正写入磁盘;这比每条语句分别插入要快的多;LOW_PRIORITY刚好相反,在所有其他用户对表的读写完后才进行插入。
3) 将索引文件和数据文件分在不同的磁盘上存放(利用建表中的选项)。
4) 如果进行批量插入,可以增加bulk_insert_buffer_size变量值的方法来提高速度,但是,这只能对myisam表使用。
5) 当从一个文本文件装载一个表时,使用LOAD DATA INFILE。这通常比使用很多INSERT语句快20倍。
6) 根据应用情况使用replace语句代替insert。
7) 根据应用情况使用ignore关键字忽略重复记录。
Insert into test values(1,2),(1,3),(1,4)…
2) 如果你从不同客户插入很多行,能通过使用INSERT DELAYED语句得到更高的速度。Delayed的含义是让insert 语句马上执行,其实数据都被放在内存的队列中,并没有真正写入磁盘;这比每条语句分别插入要快的多;LOW_PRIORITY刚好相反,在所有其他用户对表的读写完后才进行插入。
3) 将索引文件和数据文件分在不同的磁盘上存放(利用建表中的选项)。
4) 如果进行批量插入,可以增加bulk_insert_buffer_size变量值的方法来提高速度,但是,这只能对myisam表使用。
5) 当从一个文本文件装载一个表时,使用LOAD DATA INFILE。这通常比使用很多INSERT语句快20倍。
6) 根据应用情况使用replace语句代替insert。
7) 根据应用情况使用ignore关键字忽略重复记录。
相关文章推荐
- Mysql大量插入数据时SQL语句的优化
- Mysql索引优化教程
- Mysql下优化SQL的一般步骤
- Mysql SQL Mode详解
- Mysql使用SQL的安全问题,Mysql防止SQL注入
- Mysql锁机制和事务控制
- Mysql索引的设计、使用和优化
- Mysql字符集|为Mysql选择合适的字符集
- 为Mysql选择合适的数据类型
- Mysql各种存储引擎的特性以及如何选择存储引擎
- Mysql安装注意事项、安装失败的五个原因
- mysql 判断表字段或索引是否存在 - 举一反三
- mysql数据库order by语句 null 处理
- 14.2.1 MySQL and the ACID Model
- 14.2.1 MySQL and the ACID Model
- 14.2.1 MySQL and the ACID Model
- MySQL主从复制原理
- mysql The InnoDB memory heap is disabled 问题决解
- 关系型数据库之Mysql引擎-日志-用户管理(三)
- MySQL UPDATE与REPLACE差异