关于mysql 优化 insert 机能 的相干引见【MySQL教程】,mysql,insert
作者:搜教程发布时间:2019-11-27分类:MySQL教程浏览:40评论:0
insert into `table`(`field1`,`field2`) values('value1','value2');
进步insert 机能的要领
1.一条sql语句插进去多条数据
INSERT INTO `insert_table` (`uid`, `content`, `type`) VALUES ('userid_0', 'content_0', 0); INSERT INTO `insert_table` (`uid`, `content`, `type`) VALUES ('userid_1', 'content_1', 1);
能够写成
INSERT INTO `insert_table` (`uid`, `content`, `type`) VALUES ('userid_0', 'content_0', 0), ('userid_1', 'content_1', 1);
2.应用事件
START TRANSACTION; INSERT INTO `insert_table` (`uid`, `content`, `type`) VALUES ('userid_0', 'content_0', 0); INSERT INTO `insert_table` (`uid`, `content`, `type`) VALUES ('userid_1', 'content_1', 1); ... COMMIT;
注重
1.sql语句长度有限定,兼并sql语句时要注重。长度限定能够经由过程max_allowed_packet设置项修正,默以为1M。
2.事件太大会影响实行效力,mysql有innodb_log_buffer_size设置项,凌驾这个值会应用磁盘数据,影响实行效力。
关于事件的设置项申明:
innodb_buffer_pool_size
如 果用Innodb,那末这是一个主要变量。相干于MyISAM来讲,Innodb关于buffer size更敏感。MySIAM能够关于大数据量应用默许的key_buffer_size也还好,但Innodb在大数据量时用默许值就觉得在爬了。 Innodb的缓冲池会缓存数据和索引,所以不须要给体系的缓存留空间,假如只用Innodb,能够把这个值设为内存的70%-80%。和 key_buffer雷同,假如数据量比较小也不怎么增添,那末不要把这个值设太高也能够进步内存的应用率。
innodb_additional_pool_size
这个的结果不是很明显,至少是当操作体系能合理分派内存时。但你能够仍须要设成20M或更多一点以看Innodb会分派若干内存做其他用处。
innodb_log_file_size
关于写许多尤其是大数据量时非常主要。要注重,大的文件供应更高的机能,但数据库恢复时会用更多的时候。我平经常使用64M-512M,细致取决于服务器的空间。innodb_log_buffer_size
默许值关于多半中等写操作和事件短的应用都是能够的。如 果常常做更新或许应用了许多blob数据,应当增大这个值。但太大了也是糟蹋内存,由于1秒钟总会 flush(这个词的中文怎么说呢?)一次,所以不须要设到凌驾1秒的需求。8M-16M平常应当够了。小的应用能够设更小一点。innodb_flush_log_at_trx_commit
埋怨Innodb比MyISAM慢 100倍?那末你大概是忘了调解这个值。默许值1的意义是每一次事件提交或事件外的指令都须要把日记写入(flush)硬盘,这是很费时的。特别是应用电 池供电缓存(Battery backed up cache)时。设成2关于许多应用,特别是从MyISAM表转过来的是能够的,它的意义是不写入硬盘而是写入体系缓存。日记仍然会每秒flush到硬 盘,所以你平常不会丧失凌驾1-2秒的更新。设成0会更快一点,但平安方面比较差,纵然MySQL挂了也能够会丧失事件的数据。而值2只会在全部操作体系 挂了时才能够丢数据。 本篇讲解了关于mysql 优化 insert 机能 的相干引见,更多先关内容请关注ki4网。
相干引荐:
怎样应用php 经常使用自定义要领
怎样经由过程php 应用异或(XOR)加密/解密文件
经由过程php 怎样猎取一个变量的名字
以上就是关于mysql 优化 insert 机能 的相干引见的细致内容,更多请关注ki4网别的相干文章!
相关推荐
- 如何修改mysql的默认时区_MySQL教程,mysql,时区
- mysql数据库如何创建数据表_MySQL教程,mysql,数据表
- linux源码安装mysql5.7_MySQL教程,linux,mysql,mysql5.7
- mysql外键约束怎么写_MySQL教程,mysql,外键约束
- mysql如何设置字符集为UTF8_MySQL教程,mysql,UTF8,字符集
- mysql怎么创建数据库_MySQL教程,mysql,数据库
- 如何查看mysql的日志文件_MySQL教程,mysql,日志文件
- mysql如何删除表中一行数据?_MySQL教程,mysql
- access是数据库管理系统吗_MySQL教程,access,mysql
- mysql修改字段类型有哪些?_MySQL教程,mysql,修改字段
你 发表评论:
欢迎- MySQL教程排行
-
- 1如何修改mysql的默认时区_MySQL教程,mysql,时区
- 2mysql数据库如何创建数据表_MySQL教程,mysql,数据表
- 3linux源码安装mysql5.7_MySQL教程,linux,mysql,mysql5.7
- 4MySQL 连接查询超级详解_MySQL教程,MySQL,连接查询
- 5MySQL如何使用授权命令grant_MySQL教程,MySQL,grant
- 6mysql外键约束怎么写_MySQL教程,mysql,外键约束
- 7sql数据库触发器怎么创建_MySQL教程,sql,触发器
- 8MySQL中explain用法和结果分析(详解)_MySQL教程,MySQL,explain
- 9mysql如何设置字符集为UTF8_MySQL教程,mysql,UTF8,字符集
- 最新文章
- 广而告之