Mysql insert语句的优化

本文介绍了提高MySQL数据库插入性能的多种方法,包括使用多值表的INSERT语句、INSERTDELAYED语句、LOAD DATA INFILE命令等,还讨论了如何合理配置参数及选择合适的SQL关键字。

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) 依据应用情况使用ignorekeyword忽略反复记录。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值