Mysql执行INSERT操作后是立即写硬盘的吗?

panjj1 2008-12-02 10:35:09
请教各位,如果只是单独执行一条INSERT操作,mysql会不会自动将数据缓存,等到一定大小或条数后再执行写硬盘操作,以减少磁盘I/O次数?
我理解设置“bulk_insert_buffer_size”只是在INSERT语句附带有多个VALUES值时效率较高,对INSERT语句仅附带有一个VALUES值并不能减少磁盘读写次数,不知道理解的对不对?
...全文
160 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
panjj1 2008-12-04
  • 打赏
  • 举报
回复
好的,谢谢!
yangxiao_jiang 2008-12-02
  • 打赏
  • 举报
回复
mysql不清楚,db2,oracle是不会立即写的。
fcoolx 2008-12-02
  • 打赏
  • 举报
回复
当然是之后,你可以google下

[Quote=引用 6 楼 panjj1 的回复:]
请问fcoolx,你说的“flush table”指的是什么?之前和之后有什么操作?能不能具体说明一下?
[/Quote]
懒得去死 2008-12-02
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 panjj1 的回复:]
那请问是不是会自动将数据缓存,等到一定大小或条数后再执行写硬盘操作,以减少磁盘I/O次数?
如果是这样的话缓存的大小或记录条数可以设置吗?
[/Quote]

对,达到这个参数的值。

不过你要记得你的max_allowed_packet一定要和这个值差不多大。
panjj1 2008-12-02
  • 打赏
  • 举报
回复
请问fcoolx,你说的“flush table”指的是什么?之前和之后有什么操作?能不能具体说明一下?
panjj1 2008-12-02
  • 打赏
  • 举报
回复
那请问是不是会自动将数据缓存,等到一定大小或条数后再执行写硬盘操作,以减少磁盘I/O次数?
如果是这样的话缓存的大小或记录条数可以设置吗?
懒得去死 2008-12-02
  • 打赏
  • 举报
回复
先放到内存里面,再写入磁盘。
fcoolx 2008-12-02
  • 打赏
  • 举报
回复
flush table 后写入磁盘
panjj1 2008-12-02
  • 打赏
  • 举报
回复
谢谢,继续等:-)
限时福利1:购课进答疑群专享柳峰(刘运强)老师答疑服务 为什么需要掌握高性能的MySQL实战? 由于互联网产品用户量大、高并发请求场景多,因此对MySQL的性能、可用性、扩展性都提出了很高的要求。使用MySQL解决大量数据以及高并发请求已经是程序员的必备技能,也是衡量一个程序员能力和薪资的标准之一。 为了让大家快速系统了解高性能MySQL核心知识全貌,我为你总结了「高性能 MySQL 知识框架图」,帮你梳理学习重点,建议收藏! 【课程设计】 课程分为四大篇章,将为你建立完整的 MySQL 知识体系,同时将重点讲解 MySQL 底层运行原理、数据库的性能调优、高并发、海量业务处理、面试解析等。 一、性能优化篇: 主要包括经典 MySQL 问题剖析、索引底层原理和事务与锁机制。通过深入理解 MySQL 的索引结构 B+Tree ,学员能够从根本上弄懂为什么有些 SQL 走索引、有些不走索引,从而彻底掌握索引的使用和优化技巧,能够避开很多实战中遇到的“坑”。 二、MySQL 8.0新特性篇: 主要包括窗口函数和通用表表达式。企业中的许多报表统计需求,如果不采用窗口函数,用普通的 SQL 语句是很难实现的。 三、高性能架构篇: 主要包括主从复制和读分离。在企业的生产环境中,很少采用单台MySQL节点的情况,因为一旦单个节点发生故障,整个系统都不可用,后果往往不堪设想,因此掌握高可用架构的实现是非常有必要的。 四、面试篇: 程序员获得工作的第一步,就是高效的准备面试,面试篇主要从知识点回顾总结的角度出发,结合程序员面试高频MySQL问题精讲精练,帮助程序员吊打面试官,获得心仪的工作机会。

56,673

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧