社区
MySQL
帖子详情
Mysql执行INSERT操作后是立即写硬盘的吗?
panjj1
2008-12-02 10:35:09
请教各位,如果只是单独执行一条INSERT操作,mysql会不会自动将数据缓存,等到一定大小或条数后再执行写硬盘操作,以减少磁盘I/O次数?
我理解设置“bulk_insert_buffer_size”只是在INSERT语句附带有多个VALUES值时效率较高,对INSERT语句仅附带有一个VALUES值并不能减少磁盘读写次数,不知道理解的对不对?
...全文
160
9
打赏
收藏
Mysql执行INSERT操作后是立即写硬盘的吗?
请教各位,如果只是单独执行一条INSERT操作,mysql会不会自动将数据缓存,等到一定大小或条数后再执行写硬盘操作,以减少磁盘I/O次数? 我理解设置“bulk_insert_buffer_size”只是在INSERT语句附带有多个VALUES值时效率较高,对INSERT语句仅附带有一个VALUES值并不能减少磁盘读写次数,不知道理解的对不对?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
谢谢,继续等:-)
高性能
MySQL
实战课
限时福利1:购课进答疑群专享柳峰(刘运强)老师答疑服务 为什么需要掌握高性能的
MySQL
实战? 由于互联网产品用户量大、高并发请求场景多,因此对
MySQL
的性能、可用性、扩展性都提出了很高的要求。使用
MySQL
解决大量数据以及高并发请求已经是程序员的必备技能,也是衡量一个程序员能力和薪资的标准之一。 为了让大家快速系统了解高性能
MySQL
核心知识全貌,我为你总结了「高性能
MySQL
知识框架图」,帮你梳理学习重点,建议收藏! 【课程设计】 课程分为四大篇章,将为你建立完整的
MySQL
知识体系,同时将重点讲解
MySQL
底层运行原理、数据库的性能调优、高并发、海量业务处理、面试解析等。 一、性能优化篇: 主要包括经典
MySQL
问题剖析、索引底层原理和事务与锁机制。通过深入理解
MySQL
的索引结构 B+Tree ,学员能够从根本上弄懂为什么有些 SQL 走索引、有些不走索引,从而彻底掌握索引的使用和优化技巧,能够避开很多实战中遇到的“坑”。 二、
MySQL
8.0新特性篇: 主要包括窗口函数和通用表表达式。企业中的许多报表统计需求,如果不采用窗口函数,用普通的 SQL 语句是很难实现的。 三、高性能架构篇: 主要包括主从复制和读
写
分离。在企业的生产环境中,很少采用单台
MySQL
节点的情况,因为一旦单个节点发生故障,整个系统都不可用,后果往往不堪设想,因此掌握高可用架构的实现是非常有必要的。 四、面试篇: 程序员获得工作的第一步,就是高效的准备面试,面试篇主要从知识点回顾总结的角度出发,结合程序员面试高频
MySQL
问题精讲精练,帮助程序员吊打面试官,获得心仪的工作机会。
mysql
一条更新语句是如何被
执行
的——带你了解
mysql
更新语句
执行
内部顺序
mysql
一条查询语句是如何被
执行
的——带你了解
mysql
查询语句
执行
内部顺序在数据库里面,update
操作
其实包括了更新、插入和删除。MyBatis源码中,Executor里面也只有doQuery和doUpdate方法,没有doDelete和do
Insert
方法。更新流程和查询流程有什么不同呢?基本流程其实是一致的,也就是说,它也要经过解析器、优化器的处理,最后交给
执行
器。区别就在于拿到符合条件的数据之后的
操作
。
MySQL
主从复制与读
写
分离
一、
MySQL
主从复制与读
写
分离概念 1、什么是读
写
分离? 读
写
分离,基本的原理是让主数据库处理事务性增、改、删
操作
(
INSERT
、 UPDATE、DELETE) ,而从数据库处理SELECT查询
操作
。数据库复制被用来把事务性
操作
导致的变更同步到集群中的从数据库。 2、为什么要读
写
分离呢? 因为数据库的“
写
”(
写
10000条数据可能要3分钟)
操作
是比较耗时的。 但是数据库的“读”(读10000条数据可能只要5秒钟)。 所以读
写
分离,解决的是,数据库的
写
入,影响了查询的效率。 3、什么时候要读
写
分离?
Mysql
如何实现持久化
mysql
是基于
硬盘
的数据库,所以很多优化都是基于
硬盘
的瓶颈来做的,为了更好的理解,先花点时间了回忆下
硬盘
的知识
硬盘
目前主流的有2种,一种是机械
硬盘
,一种是固态
硬盘
大家知道,固态
硬盘
读
写
速度比机械
硬盘
块,而且快很多,那么快的原因是什么呢? 主要跟他们的构造和工作原理有关 机械
硬盘
结构 机械
硬盘
主要由,转抽,磁头,盘片组成,一个盘片上划分了很多个磁道,每个磁道上又进一步分了扇区 其中扇区是实际存储数据的地方,一个扇区的大小是512个字节,当对机械
硬盘
进行读
写
时需要经过三个步骤 1.定位到磁道 2.等
MySQL
数据库主从复制与读
写
分离(图文详解!)
在实际的生产环境中,如果对
mysql
数据库的读和
写
都在一台数据库服务器中
操作
,无论是在安全性、高可用性,还是高并发等各个方面都是不能满足实际需求的。因此,一般通过主从复制的方式来同步数据,再通过读
写
分离来提升数据库的并发负载能力。所以主从复制、读
写
分离就是为了数据库能支持更大的并发。随着业务量的扩展、如果是单机部署的
MySQL
,会导致I/O频率过高。采用主从复制、读
写
分离可以提高数据库的可用性。
MySQL
56,673
社区成员
56,705
社区内容
发帖
与我相关
我的任务
MySQL
MySQL相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MySQL相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章