优化MySQL插入方法的五个妙招

2016-02-19 16:07 6 1 收藏

只要你有一台电脑或者手机,都能关注图老师为大家精心推荐的优化MySQL插入方法的五个妙招,手机电脑控们准备好了吗?一起看过来吧!

【 tulaoshi.com - 编程语言 】

  以下是涉及到插入表格的查询的5种改进方法:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  1)使用LOAD DATA INFILE从文本下载数据这将比使用插入语句快20倍。

  2)使用带有多个VALUES列表的INSERT语句一次插入几行这将比使用一个单行插入语句快几倍。调整bulk_insert_buffer_size变量也能提高(向包含行的表格中)插入的速度。

  3)可以对myisam表并行插入Concurrent_insert系统变量可以被设置用于修改concurrent-insert处理。该变量默认设置为1。如果concurrent_insert被设置为0,并行插入就被禁用。如果该变量被设置为2,在表的末端可以并行插入,即便该表的某些行已经被删除。

  4)使用插入延迟

  如果你的客户不能或无需等待插入完成的时候,这招很有用。当你使用MySQL存储,并定期运行需要很长时间才能完成的SELECT和UPDATE语句的时候,你会发现这种情况很常见。当客户使用插入延迟,服务器立刻返回,如果表没有被其他线程调用,则行会列队等待被插入。使用插入延迟的另一个好处就是从多个客户插入的情况会被绑定并记录在同一个block中。这将比处理多个独立的插入要快得多。

  5)插入之前将表锁定(只针对非事务处理型的表)

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  这将提高数据库性能,因为索引缓冲区只是在所有的插入语句完成后才对磁盘进行一次刷新。通常情况下,有多少个插入语句就会有多少次索引缓冲区刷新。如果你可以用一个插入语句实现所有行的插入,则无需使用显式锁定语句。

  要想更快地对事务型表插入,你应该使用START TRANSACTION和COMMIT语句,而不是LOCK TABLES语句。

来源:http://www.tulaoshi.com/n/20160219/1611104.html

延伸阅读
标签: MySQL mysql数据库
       数据库系统是管理信息系统的核心,基于数据库的联机事务处理(OLTP)以及联机分析处理(OLAP)是银行、企业、政府等部门最为重要的计算机应用之一。从大多数系统的应用实例来看,查询操作在各种数据库操作中所占据的比重最大,而查询操作所基于的SELECT语句在SQL语句中又是代价最大的语句。举例来说,如果数...
一、在编译时优化mysql 如果你从源代码分发安装mysql,要注意,编译过程对以后的目标程序性能有重要的影响,不同的编译方式可能得到类似的目标文件,但性能可能相差很大,因此,在编译安装mysql适应仔细根据你的应用类型选择最可能好的编译选项。这种定制的mysql可以为你的应用提供最佳性能。 技巧:选用较好的编译器和较好的编译器选...
护发方法 五个妙招帮你养护秀发 在现代,很多女性都会选择去美容院进行头发的护理工作,但是实际上,头发却随着一次次的护理变得越来越差,那么我们究竟应该如何来美容护发呢?其实并不需要什么复杂的护发方法,只要你能养成良好的生活习惯,改掉那些伤发的坏习惯,就能够轻松的打造出飘逸的秀发了哦! 1、用低温的水洗...
当你执行管理员优化的时候,应该紧记以下规则: · 访问内存中的数据快于访问磁盘上的数据。 · 尽量把数据保存在内存中可以减少磁盘操作。 · 保留索引中的信息比保留数据记录的内容更重要。 我们在后面将讨论如何应用这些规则。 增加服务器缓存的大小。服务器拥有很多参数(系统变量),你可以改变这些参数来影...
但请注意,下面的优化并不是完全的。MYSQL实施了许多优化,但我没时间全部测试. MySQL的一些优化列在下面: 删除不必要的括号: ((a AND b) AND c OR (((a AND b) AND (c AND d)))) - (a AND b AND c) OR (a AND b AND c AND d) 常数调入: (ab AND b=c) AND a=5 - b5 AND b=c AND a=5 删除常数条件: (B=5 AND B=5) OR (B=6 AND 5=5) O...

经验教程

513

收藏

86
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部