• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > MYSQL之插入极限分析

MYSQL之插入极限分析

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了mysql批量插入数据,mysql 批量插入,mysql不能插入中文,mysql循环插入数据,mysql数据库插入语句等相关知识,希望本文的分享对您有所帮助
1、如果同时从同一个客户端插入很多行,使用含多个 VALUE的INSERT语句同时插入几行。这比使用单行INSERT语句快(在某些情况下快几倍)。如果你正向一个非空表添加数据,可以调节 bulk_insert_buffer_size变量,使数据插入更快。参见5.3.3 节,“服务器系统变量”。

2、如果你从不同的客户端插入很多行,能通过INSERT DELAYED语句加快速度。参见13.2.4 节,“INSERT语法”。

3、用MyISAM,如果在表中没有删除的行,能在SELECT语句正在运行的同时插入行。

4、当从一个文本文件装载一个表时,使用LOAD DATA INFILE。这通常比使用很多INSERT语句快20倍。参见13.2.5 节,“LOAD DATA INFILE语法”。

5、当表有很多索引时,有可能要多做些工作使得LOAD DATA INFILE更快些。使用下列过程:

1). 有选择地用CREATE TABLE创建表。
2). 执行FLUSH TABLES语句或命令mysqladmin flush-tables。
3). 使用myisamchk --keys-used=0 -rq /path/to/db/tbl_name。这将从表中取消所有索引的使用。
4). 用LOAD DATA INFILE把数据插入到表中,因为不更新任何索引,因此很快。
5). 如果只想在以后读取表,使用myisampack压缩它。参见15.1.3.3 节,“压缩表特性”。
6). 用myisamchk -r -q /path/to/db/tbl_name重新创建索引。这将在写入磁盘前在内存中创建索引树,并且它更快,因为避免了大量磁盘搜索。结果索引树也被完美地平衡。
7). 执行FLUSH TABLES语句或mysqladmin flush-tables命令。

6、锁定表可以加速用多个语句执行的INSERT操作:

* LOCK TABLES a WRITE;
* INSERT INTO a VALUES (1,23),(2,34),(4,33);
* INSERT INTO a VALUES (8,26),(6,29);
* UNLOCK TABLES;

这样性能会提高,因为索引缓存区仅在所有INSERT语句完成后刷新到磁盘上一次。一般有多少INSERT语句即有多少索引缓存区刷新。如果能用一个语句插入所有的行,就不需要锁定。

对于事务表,应使用BEGIN和COMMIT代替LOCK TABLES来加快插入。 </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • MYSQL之插入极限分析
  • mysql中迅速插入百万条测试数据的方法
  • 如何保护MySQL中重要数据的方法
  • MYSQL数据表损坏的原因分析和修复方法小结(推荐)
  • MySQL 随机查询数据与随机更新数据实现代码
  • 在大数据情况下MySQL的一种简单分页优化方法
  • mysql导出指定数据或部份数据的方法
  • MYSQL删除重复数据的简单方法
  • mysql高效导数据的方法讲解
  • mysql 选择插入数据(包含不存在列)具体实现

相关文章

  • 2017-05-11MySQL Event Scheduler(事件调度器)
  • 2018-12-05目前用到的两个分页存储过程代码
  • 2018-12-05access数据库用sql语句添加字段,修改字段,删除字段
  • 2018-12-05MySQL入门教程1 —— 连接与断开服务器
  • 2018-12-05MsSql 存储过程分页代码 [收集多篇]
  • 2018-12-05SQL Server 数据库管理常用的SQL和T-SQL语句
  • 2018-12-05用mysql 查询奇偶数的实例代码
  • 2017-05-11MySql存储过程异常处理示例代码分享
  • 2017-05-11解析mysql不重复字段值求和
  • 2018-12-05mssql中获取指定日期所在月份的第一天的代码

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • mysql 让一个存储过程定时作业的代码
    • MySQL DBA教程:Mysql性能优化之缓存参数优化
    • 图数据库实践系列 (一)--Neo4J简介与安装
    • MySQL无法创建外键的原因及解决方法
    • MySQL5.6基本配置详解
    • MYSQL如何自动为查询数据的结果编上序号方法教程
    • 用SQL语句解决mysql导入大数据文件的问题
    • mysql登录遇到ERROR 1045问题解决方法
    • Oracle Connect to Idle Instance解决方法
    • windows下在控制台下 mysql的一些简单的控制语句

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有