MySQL插入语句优化
- 插入语句如何优化
- 插入数据时,影响插入速度的主要是索引、唯一性校验、一次插入的数据条数等。
- 插入数据的优化,不同的存储引擎优化手段不一样,在MySQL中常用的存储引擎有,MyISAM和InnoDB,两者的区别:
- http://www.cnblogs.com/panfeng412/archive/2011/08/16/2140364.html
- MyISAM
- 禁用索引
- 对于非空表,插入记录时,MySQL会根据表的索引对插入的记录建立索引。如果插入大量数据,建立索引会降低插入数据速度。
- 为了解决这个问题,可以在批量插入数据之前禁用索引,数据插入完成后再开启索引。
- 禁用索引的语句:
- ALTER TABLE table_name DISABLE KEYS
- 开启索引语句:
- ALTER TABLE table_name ENABLE KEYS
- 对于空表批量插入数据,则不需要进行操作,因为MyISAM引擎的表是在导入数据后才建立索引。
- 禁用唯一性检查
- 唯一性校验会降低插入记录的速度,可以在插入记录之前禁用唯一性检查,插入数据完成后再开启。
- 禁用唯一性检查的语句:SET UNIQUE_CHECKS = 0;
- 开启唯一性检查的语句:SET UNIQUE_CHECKS = 1;
- 批量插入数据
- 插入数据时,可以使用一条INSERT语句插入一条数据,也可以插入多条数据。
- 第二种方式的插入速度比第一种方式快。
- 使用LOAD DATA INFILE
- 当需要批量导入数据时,使用LOAD DATA INFILE语句比INSERT语句插入速度快很多。
- InnoDB
- 禁用唯一性检查
- 用法和MyISAM一样。
- 禁用外键检查
- 插入数据之前执行禁止对外键的检查,数据插入完成后再恢复,可以提供插入速度。
- 禁用:SET foreign_key_checks = 0;
- 开启:SET foreign_key_checks = 1;
- 禁止自动提交
- 插入数据之前执行禁止事务的自动提交,数据插入完成后再恢复,可以提高插入速度。
- 禁用:SET autocommit = 0;
- 开启:SET autocommit = 1;
MySQL插入语句优化相关推荐
- php面试专题---MYSQL查询语句优化
php面试专题---MYSQL查询语句优化 一.总结 一句话总结: mysql的性能优化包罗甚广: 索引优化,查询优化,查询缓存,服务器设置优化,操作系统和硬件优化,应用层面优化(web服务器,缓存) ...
- 30种MySQL查询语句优化方法分享
30种MySQL查询语句优化方法分享,对于MySQL查询语句来说效率是最重要的能用一分钟搞定的绝不能花费两分钟.今天整理了30种MySQL查询语句优化方法,供大家学习使用. 30种MySQL查询语句优 ...
- MySql插入语句时报错,错误代码1062
MySql插入语句时报错,错误代码1062 mysql 工具操作报错 程序运行报错 Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConst ...
- 【sql】MySQL——插入语句(联表插入)
今天用mysql插入联表数据遇见了一些问题,于是整理一下mysql插入语句. 插入语句 语法 方式一 INSERT INTO表名(列名,...) VALUES(值1,...);方式二 INSERT I ...
- Mysql删除语句优化_MySQL性能优化之常用SQL语句优化
SQL性能优化的目标:至少要达到range级别,要求是ref级别,consts最高.[阿里巴巴JAVA开发手册] 说明: 1).consts单表中最多只有一个匹配行(主键/唯一索引),在优化阶段即可读 ...
- MYSQL查询语句优化
mysql的性能优化包罗甚广: 索引优化,查询优化,查询缓存,服务器设置优化,操作系统和硬件优化,应用层面优化(web服务器,缓存)等等.这里的记录的优化技巧更适用于开发人员,都是从网络上收集和自己整 ...
- mysql insert 语句优化_分享insert into语句优化的小技巧
MYSQL批量插入数据库实现语句性能分析 假定我们的表结构如下 代码如下CREATE TABLE example ( example_id INT NOT NULL, name VARCHAR( 50 ...
- 【myISAM和innoDB】mySql的引擎myisam和innodb的区别/mysiam(mysql插入速度优化)
目录 Myisam 和Innodb 特点和擅长 Myisam 和Innodb 数据存储区别 Myisam引擎(非聚集索引--叶子节点存储数据地址的指针) Innodb引擎(聚集索引---叶子节点的da ...
- mysql sql语句优化面试_面试不要一把梭了,这才是SQL优化的正确姿势
全文内容预览: 所以,在开始之前(MySQL 优化),咱们先来聊聊性能优化的一些原则. 性能优化原则和分类 性能优化一般可以分为:主动优化 被动优化 所谓的主动优化是指不需要外力的推动而自发进行的一种 ...
最新文章
- HTML5学习路线资料,HTML5前端面试的技术栈
- php管理员登录文件,快速的事情,只有管理员,PHP才能访问文件
- 【SpringBoot实战】员工部门管理页面,增删改查,含源码
- Smarty 显示大括号 | 在Smarty中计算数组元素的长度 | Smarty字符串拼接
- 只有python可以爬虫吗_无所不能的Python之爬虫那点事儿
- java 解析sh文件内容_java 文件读取
- Windows Store 开发总结——文件操作
- 《财产》评最受尊重公司:苹果第一谷歌第二
- Linux CentOS修改网卡IP/网关设置
- 转:Secure CRT 中文乱码问题解决
- html中css层叠样式表(行内样式,内嵌式,外部式)
- 百度识图API教程一:使用百度api识别物体
- 后盾网php微博系统,后盾网ThinkPHP微博项目开发视频教程 - 轻松自学网
- 51nod1359 循环探求
- 网站数据采集器-文章采集工具-关键词文章采集工具
- IPV6地址基础知识
- 智能垃圾桶语音芯片应用设计方案介绍,WT588F02B-8S
- 测试信号分析-估计理论的基本原理
- 动画云创始人胥克谦课程格子创始人李天放分享创业经历
- 1.1[潜心创作]冒险游戏(MineCraft)不喜勿喷
热门文章
- 【ALM】西门子Polarion产品助力汽车企业通过ASPICE认证
- 利用TP-Link TL-SG2005进行网络抓包
- c语言蛇形填充数组,蛇形
- ios 设备获取idfa_获取iOS设备唯一标示UUID
- Python少儿创意编程_新年快乐音乐贺卡.py 作者:李兴球
- 通达OA功能模块清单及介绍
- Java#9(文字格斗游戏和对象数组练习)
- 树莓派——认识树莓派
- linux版retroarch游戏,RetroArch
- Linux系统用什么翻译软件,Linux安装翻译软件StarDict的步骤(自己的操作总结)