5招优化MySQL插入方法

作者:ming_ke 来源:CSDN 时间:2009-04-02 10:49:00 

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

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)插入之前将表锁定(只针对非事务处理型的表)

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

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

标签:Mysql,插入方法,表格查询
0
投稿

猜你喜欢

  • ASP无组件汉字验证码

    2008-05-08 13:19:00
  • 利用sys.sysprocesses检查SqlServer的阻塞和死锁

    2011-11-03 17:24:11
  • 网站分析方法系列二——分析页面区块价值

    2011-01-06 12:32:00
  • ASP获取ACCESS数据库表名及结构的代码

    2011-04-15 10:50:00
  • 方便和实用

    2009-02-02 10:16:00
  • asp 读取文件和保存文件函数代码

    2011-04-04 11:17:00
  • 逐步讲解向Access数据库上传且显示图片

    2008-11-28 16:51:00
  • 如何设计具可用性的网页表单?

    2010-03-20 21:57:00
  • 有感用户体验规划与系统实现

    2009-11-27 18:33:00
  • 一个不错的网页拾色器

    2007-09-30 19:45:00
  • asp 得到动态数组中元素的个数

    2011-03-30 10:55:00
  • 漫谈前端开发中的团队合作

    2009-02-05 21:02:00
  • 简写一个的lightbox显示隐藏层效果(兼容)

    2010-07-23 20:02:00
  • 一个ASP记录集分页显示的例子

    2007-09-14 10:57:00
  • asp如何实现对Session 数组的定义和调用?

    2010-05-18 18:40:00
  • 深入理解ASP中FSO的神奇功能

    2007-09-18 12:22:00
  • 教你在SQL Server数据库中导入导出数据

    2008-12-09 14:42:00
  • 使用CSS选择器创建个性化链接样式

    2009-06-02 13:07:00
  • oracle SQL命令大全

    2009-07-02 11:55:00
  • 读"设计的3个C"之构图

    2008-12-24 13:25:00
  • asp之家 网络编程 m.aspxhome.com