mysql45讲

  • mysql 执行顺序
    • 解析器 解析sql 提示语法错误
    • 优化器 优化查询索引使用 执行顺序
    • 执行器 操作引擎,返回结果
  • 日志模块
    • bin log
      • 所有引擎都可使用 追加写入,不会覆盖
      • Binlog有两种模式,statement 格式的话是记sql语句, row格式会记录行的内容,记两条,更新前和更新后都有
    • redo log
      • inno db 特有的 循环使用
      • 先写日志 在写磁盘
      • Redo log不是记录数据页“更新之后的状态”,而是记录这个页 “做了什么改动”
  • 索引
    • 哈希表
      • 适合做等值查询,由于数据无序,不适用区间查询,如nosql
    • 有序数组
      • 适合做静态数据索引
    • B+索引
      • 主键索引,叶子节点存放数据
      • 普通索引查询需要回表
      • 主键使用自增主键可以提升插入性能和节省空间
    • mysql 索引
      • 使用前缀索引,定义好长度,就可以做到既节省空间,又不用额外增加太多的查询成本,慎用 ,影响性能
      • 索引选取的越长,占用的磁盘空间就越大,相同的数据页能放下的索引值就越少,搜索的效率也就会越低
posted @ 2023-06-17 14:02  FromZeroToOne  阅读(35)  评论(0编辑  收藏  举报