innodb
文章平均质量分 91
我是722
这个作者很懒,什么都没留下…
展开
-
mysql之主备
主备流程图过程简介:主库A,从库B从库B启动两个线程,第一个线程:io-thread 用于接收主库A发送的binlog数据,然后写入临时文件 relay log。第二个线程sql-thread用来读取relay log文件并解析后执行sql。binlog 的三种格式每个日志第一行为:server id,用来区分是那台机器生成的binlog日志。例外:当执行的语句是重放语句时,则生成binlog的server id是重放前的(与重放的id保持一致)。用来解决mysql架构为双M架构时的日志循环。原创 2021-04-11 14:36:14 · 607 阅读 · 2 评论 -
mysql之聚合
count(*)MyISAM的count(*)方式为总行数记录在磁盘上,执行直接读取当前总数数据,效率高。InnoDB则是将数据一行一行的数据从引擎中取出后,然后累加计数。为啥 InnoDB 不跟 MyISAM 一样,也把数字存起来呢?因为同一时间的多个查询,由于多版本MVCC控制原因,应该返回多少行是由版本可见性进行区分是否当前数据可见。可见后才会进行返回计数。InnoDB对count()的优化:因为主键索引树的叶子节点存储真正的数据,其他索引结构只存了索引字段与主键,因为当前是count()查原创 2021-04-09 14:13:55 · 615 阅读 · 0 评论 -
mysql之数据
数据存储数据库最终的数据都会存储在磁盘中。但是为了性能的考虑也会将数据放在在内存中进行操作和存储,内存中的数据也是必不可失的。当在innodb中寻找一条数据时,首先会查内存,内存中有则直接修改或者(是查询的话)直接返回,内存没有则去磁盘捞取当前数据所在的页加载到内存中,然后进行返回或者修改。 至于修改后内存如何更新到磁盘中去就是所谓的刷脏页。(内存与磁盘数据不一致)那么从上面一句话可以得到一条结论,innodb的数据行在内存中就是最新的,不在内存中磁盘中就是最新数据。刷脏页的时机:接下来说一下什么原创 2021-04-02 14:19:21 · 87 阅读 · 0 评论 -
mysql之索引
每一条数据在内存中都有一个地址值,主键索引 记录了当前地址值。下面主要了解的是InnoDB 索引:类型:,普通索引、唯一索引、全文索引(文本类型)InnoDB 逻辑存储结构MySQL 的存储结构分为 5 级:表空间、段、簇、页、行。优化查询,mysql在数据存储结构上优化了B TreeBalanced Tree 这个就是我们的多路平衡查找树,叫做 B Tree(B 代表平衡)有大量的索引的结构的调整,就是节点的分裂和合并,其实就是 InnoDB 页的分裂和合并。所以 解释了为什么我们不要在频原创 2021-03-23 08:21:46 · 164 阅读 · 0 评论 -
mysql之加锁
锁分类全局锁针对整个数据库实例加锁,加锁后数据库状态为只读。数据增删改,修改表,创建表等变更都会被阻塞。命令:Flush tables with read lock (FTWRL)使用场景:做全库逻辑备份缺陷:在备份期间业务停止。其他方式:官方自带的逻辑备份工具是 mysqldump。当 mysqldump 使用参数–single-transaction 的时候,导数据之前就会启动一个事务,来确保拿到一致性视图。而由于 MVCC 的支持,这个过程中数据是可以正常更新的。(隐含条件:支持事务的引擎原创 2021-03-27 15:37:38 · 1397 阅读 · 0 评论 -
mysql之事物
mysql事务理解笔记可重复读在此级别下,A事务启动时创建一个视图 read-view,之后当前事务A执行期间,即使有其他事务修改了数据,事务A看到的仍然在跟启动时一样。以下举例:insert into t(id, k) values(1,1)autocommit=1注意: begin/start transaction 命令并不是一个事务的起点,在执行到它们之后的第一个操作 InnoDB 表的语句,事务才真正启动。start transaction with consistent sna原创 2020-11-28 15:56:51 · 113 阅读 · 0 评论 -
mysql之初识
基础部分mysql架构大体为:Server 层和存储引擎层两部分server:连接器、查询缓存、分析器、优化器、执行器等,内置函数,及跨存储引擎的功能都在这里实现,例如存储过程、触发器、视图等。存储引擎:架构模式为插件模式,支持InnoDB、MyISAM、Memory 等多个存储引擎。常用引擎为InnoDB,mysql5.5.5后成为默认存储引擎。显式指定:create table 语句中使用engine=memory。连接器连接器负责跟客户端建立连接、获取权限、维持和管理连接。cmd命令模式原创 2021-03-21 16:28:35 · 56 阅读 · 0 评论