240 发简信
IP属地:甘肃
  • @Jackson_ba56 他问的是“数据只存到日志里,用户怎么查到最新的数据”,但你答的是“日志落盘策略,怎么保证日志不丢”,感觉答的不是同一件事哈。

    mysql日志系统之redo log和bin log

    首先,我们先来看看一次查询/更新语句流程图 mysql不是每次数据更改都立刻写到磁盘,而是会先将修改后的结果暂存在内存中,当一段时间后,再一次性将多个修改写到磁盘上,减少磁盘...

  • 120
    我用几个 bit 实现了 LRU,你不好奇吗?

    本文来源于公众号: 跬步匠心 原文链接:http://mp.weixin.qq.com/s...[http://mp.weixin.qq.com/s?__biz=MzI4MT...

  • 用户查询时,先在内存中查看是否有查询的数据,如果没有,先将数据从磁盘加载到内存,然后会检查redo中是否有该行的事务,如果有,就执行redo中的事务,此时,内存中的数据就是最新的了,其实,redo异步更新数据到磁盘也是这个过程,数据先加载到内存,然后执行事务,此时称该内存页为脏页,之后通过策略,再将脏页的数据落盘

    mysql日志系统之redo log和bin log

    首先,我们先来看看一次查询/更新语句流程图 mysql不是每次数据更改都立刻写到磁盘,而是会先将修改后的结果暂存在内存中,当一段时间后,再一次性将多个修改写到磁盘上,减少磁盘...

  • @傅斯布拉德 😂我也忘了

    mysql日志系统之redo log和bin log

    首先,我们先来看看一次查询/更新语句流程图 mysql不是每次数据更改都立刻写到磁盘,而是会先将修改后的结果暂存在内存中,当一段时间后,再一次性将多个修改写到磁盘上,减少磁盘...

  • @傅斯布拉德 1. redolog记录的是“在某个数据页上做了什么修改”,所以你的理解大体上应该是没什么问题的;
    2. binlog有三种记录格式,一种是statement,记录的是sql语句,还有一个是row,记录的是行的变更,还有一种是statement和row的混合,mixed格式
    3. mysql的执行顺序,如果是update基本没什么问题,但d应该是先发送commit指令,之后再写binlog。如果是insert,可能还得有change buffer的参与,具体可以自己百度下change buffer的相关知识,哈哈哈哈

    mysql日志系统之redo log和bin log

    首先,我们先来看看一次查询/更新语句流程图 mysql不是每次数据更改都立刻写到磁盘,而是会先将修改后的结果暂存在内存中,当一段时间后,再一次性将多个修改写到磁盘上,减少磁盘...

  • 1. 落盘的步骤是先从磁盘中把相关数据页读到内存中,然后更新内存中的数据页,之后更新后的数据页属于脏页(当前内存中的数据与磁盘中不一样),之后脏页中的数据会被写入磁盘(称为刷脏页,具体请自行google)。
    2. 数据存在innodb中是叶子节点存数据,然后节点直接是挨着存的,也就是所说的顺序读写。
    所以:
    如果直接将数据写入磁盘,比如要更新处在同一个数据页的4个数据,更新4个数据之间有一定时间间隔,每更新一个数据后,内存中的脏数据页都被刷到磁盘中了,这样,更新4个数据需要将磁盘中的数据页加载到内存中4次
    如果先写到redolog,这时候落盘就只需要加载一次数据页到内存中了

    mysql日志系统之redo log和bin log

    首先,我们先来看看一次查询/更新语句流程图 mysql不是每次数据更改都立刻写到磁盘,而是会先将修改后的结果暂存在内存中,当一段时间后,再一次性将多个修改写到磁盘上,减少磁盘...

  • @暮色逍遥 语句b不能用到(password,username)索引,因为username是无序的

    mysql索引篇之覆盖索引、联合索引、索引下推

    文章是学习了林晓斌老师在极客时间的《mysql实战45讲》后,根据自己的理解整理而成的。 覆盖索引 在之前《mysql索引初识》这篇文章中提到过,mysql的innodb引擎...

  • 120
    【TCP/IP】端口未监听,还能访问成功?

    现象 直接上图👇 可以发现,本地没监听50000端口的服务,但是尝试连接本地50000端口时,却能成功建立连接,这种现象叫做「自连接」 我们再通过netstat命令查看创建的...

  • 是的,确实是讲错了,多谢提醒,我这里主要是想表达「最左前缀匹配」这个概念

    mysql索引篇之覆盖索引、联合索引、索引下推

    文章是学习了林晓斌老师在极客时间的《mysql实战45讲》后,根据自己的理解整理而成的。 覆盖索引 在之前《mysql索引初识》这篇文章中提到过,mysql的innodb引擎...

  • 你好,我想问下如果想自定义publicPath要怎么搞?

    Webpack工程化解决方案easywebpack

    1.概要 随着越来越多的项目采用 Vue, React, Weex 进行业务开发, 在前端构建方面大多数是用webpack进行构建。但存在以下问题: 各个项目都是自己从零编写...

  • mysql索引篇之explain命令介绍

    mysql中的explain命令可以用来查看sql语句是否使用了索引,用了什么索引,有没有做全表扫描。可以帮助我们优化查询语句。explain出来的信息有10列,文章主要介绍...

  • 120
    axios 二次封装 api的统筹管理 配合async await实际项目中的运用

    写在前面 作者简书地址axios在实战项目中的运用,所举例项目是基于vue全家桶(vue-router+vuex+axios+element-ui)的后台管理系统,需要一些有...

  • 120
    mysql索引篇之覆盖索引、联合索引、索引下推

    文章是学习了林晓斌老师在极客时间的《mysql实战45讲》后,根据自己的理解整理而成的。 覆盖索引 在之前《mysql索引初识》这篇文章中提到过,mysql的innodb引擎...

  • 120
    mysql索引初识

    文章是学习了林晓斌老师在极客时间的《mysql实战45讲》后,根据自己的理解整理而成的。 什么是索引? 当我们使用汉语字典查找某个字时,我们会先通过拼音目录查到那个字所在的页...

个人介绍
微信公众号:会玩code