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
投稿

猜你喜欢

  • Python利用Selenium实现网站自动签到功能

    2021-04-22 18:20:02
  • SQL Server查看login所授予的具体权限问题

    2024-01-22 11:39:14
  • 使用python向MongoDB插入时间字段的操作

    2021-05-21 06:54:19
  • Mysql的数据库迁移到另一个机器上的方法详解

    2024-01-16 18:33:24
  • Python JWT认证与pyjwt包详细介绍

    2022-04-28 23:52:31
  • asp关键词屏蔽过滤函数代码

    2010-05-04 16:32:00
  • Python中celery的使用

    2022-10-22 14:03:17
  • 简单上手Python中装饰器的使用

    2023-06-20 19:20:06
  • django filter过滤器实现显示某个类型指定字段不同值方式

    2023-06-21 07:48:26
  • python发布模块的步骤分享

    2023-08-07 11:29:25
  • 一文学会Mysql数据库备份与恢复

    2024-01-26 10:17:08
  • python妹子图简单爬虫实例

    2022-12-11 05:47:50
  • flask 使用 flask_apscheduler 做定时循环任务的实现

    2023-02-27 21:21:23
  • Python实现视频下载功能

    2022-04-06 13:42:14
  • jupyter notebook 恢复误删单元格或者历史代码的实现

    2022-03-03 16:13:45
  • 使用py2exe在Windows下将Python程序转为exe文件

    2022-08-14 10:07:07
  • Python3数字求和的实例

    2022-05-25 13:37:25
  • mysql 5.7.18 winx64 免安装 配置方法

    2024-01-27 14:00:08
  • vue指令只能输入正数并且只能输入一个小数点的方法

    2024-06-05 09:20:44
  • Python基于爬虫实现全网搜索并下载音乐

    2023-12-26 16:36:40
  • asp之家 网络编程 m.aspxhome.com