在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

如何在MySQL数据库中优化insert的性能

100次阅读
没有评论

共计 1841 个字符,预计需要花费 5 分钟才能阅读完成。

自动写代码机器人,免费开通

如何在 MySQL 数据库中优化 insert 的性能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

MySQL 的 insert 语句语法,关于 mysql 优化 insert 性能 的相关介绍。

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 的性能的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注丸趣 TV 行业资讯频道,感谢各位的阅读!

向 AI 问一下细节

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-04发表,共计1841字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 77se77亚洲欧美在线大屁股 | 国产做爰视频免费看 | 成 人 免费 黄 色 视频 | 中国一级特黄大片毛片 | 99热精品久久只有精品30 | 老司机亚洲精品影视www | 夜夜高潮夜夜爽夜夜爱爱 | 久久一本色系列综合色 | 国产午夜爽爽窝窝在线观看 | 九九九精品在线观看 | 啦啦啦www播放日本观看 | 国产日韩在线 | 中文字幕亚洲乱码熟女在线萌芽 | 亚洲欧美日韩国产成人精品影院 | 激情亚洲一区国产精品 | 无码av无码一区二区桃花岛 | 韩国啪啪网站 | 国产麻豆成人精品av | 久久久久久国产精品免费免费 | av熟女人妻一区二区三区 | 九九碰| 日韩一区二区三区免费视频 | 国产成人亚洲欧美电影 | 色欲aⅴ亚洲情无码av蜜桃 | 特黄色一级毛片 | 国产爆乳美女娇喘呻吟 | 精品国产第一国产综合精品 | 影院亚洲 | 99久久er这里只有精品18 | 91网址在线播放 | 国产av无码专区亚洲av麻豆丫 | 精品无码黑人又粗又大又长 | 亚洲久悠悠色悠在线播放 | 欧美videos另类极品 | 日日干天天草 | 毛片高清视频在线看免费观看 | 久热国产在线 | 99精品国产高清自在线看超 | 日本猛少妇色xxxxx猛叫 | 亚洲男人第一无码av网站 | 国产成人无码av在线播放不卡 |