河北王校长MySQL

Posted Faetbwac

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了河北王校长MySQL相关的知识,希望对你有一定的参考价值。

河北王校长MySQL

索引

  • b+树数据结构\\数量级\\存储内容
  • b+树优势、对比哈希表\\数组\\b树\\跳表
    • 跳表不适用磁盘存储介质、指针管理难以适应联合索引、出现时间晚
    • hash不支持最左前缀和范围查找
    • 数组成本过高
    • b树树型过高,io多
  • 最左前缀原则
  • 索引覆盖
  • 索引下推
  • 扩充
    • show index 命令后查看 Cardinality 可以了解离散程度

索引失效

  • 索引失效
    • %like
    • or条件有非索引
    • 联合查询不满足最左前缀原则
    • 运算
    • isnot != <>成本过高
    • is null/is not null成本过高
    • 函数操作
    • 类型隐式转换(convert)
  • 补充
    • 对于null值优化 强制非空\\默认值
    • select * from table where index > 3
      • MySQL5.5 由于回表离散读的问题,索引可能会失效
      • MySQL5.5+ mrr优化解决离散读,一般会使用索引

mvcc、隔离级别、问题、锁

  • mvcc
    • 一致性非锁定读
    • MySQL基于自己回滚机制为并发常场景的优化
  • 隔离级别中的mvcc
    • ru:直接返回记录上的最新值,没有视图概念。
    • rc:视图是在每次SELECT时生成的。(违背了事务ACID里的隔离性)
    • rr:视图是在第一次SELECT时创建的,事务读取期间的SELECT都用这个视图。(此隔离级别下需要利用间隙锁来解决幻读问题)
    • s:直接用加锁的方式来避免并行访问,没有视图概念。
  • 隔离级别中的问题
    • ru:脏读、幻读、不可重复读
    • rc:幻读、不可重复读
    • rr:幻读
    • Record Lock:单个行记录上的锁
    • Gap Lock:间隙锁,锁定一个范围,但不包含记录本身
    • Next-Key Lock:Gap Lock+Record Lock,锁定一个范围,并且锁定记录本身

日志

  • MySQL插入瓶颈
    • 自增id(id并发瓶颈)
      • 5.1.22前 auto inc locking
      • 5.1.22后 多模式 全互斥量\\全锁\\混合
      • 主从同步SBR会导致数据不一致,需要修改为RBR
    • commit(磁盘写入瓶颈)
      • 事务提交时会调用 fsync 对 redo log 进行刷盘,将redo log buffer刷新到redo log file
        • 事务提交时必须调用一次fsync操作
        • 表示事务提交时不进行写入重做日志操作,这个操作仅在master thread中完成,而在master thread中每1秒会进行一次重做日志文件的fsync操作。
        • 事务提交时将重做日志写入重做日志文件,但仅写入文件系统的缓存中,不进行fsync操作
      • 批量插入
  • redo log
  • uodo log
  • bin log

分布式

  • 隔离级别
    • rc
      • 违背隔离性,可接受,体现真实数据变迁
      • 其他情况代码处理
      • 推荐
  • MySQL5.0
    • rC隔离级别,bin log只有statment模式,会导致主从复制数据不一致,被迫使用rr
  • MySQL5.1
    • rC隔离级别,bin log引入row、mix模式
  • MySQL5.1.22
    • 自增主键引入互斥量,配合rc的rbr,主从复制插入性能最佳
  • MySQL5.5
    • 主从复制异步bin log同步,半同步复制,至少保证一个从服务器接受bin log
  • MySQL5.6
    • mrr解决离散读问题
  • MySQL5.6
    • 主从复制异步bin log同步,增强半同步复制,至少保证一个从服务器将bin log写入relay log
  • MySQL5.7
    • 多线程复制技术(从库)
  • MySQL8.0
    • 同事务多线程复制技术
  • MySQL集群架构
    • 多主互为主从,每个主服务器挂载多个从服务器
      • 无法再挂一层,将binlog写入relaylog再执行将自身binlog传递成本太高
    • 数据库分片中间件,多主互为补充,每个主服务器挂载多个从服务器

补充

  • flc
  • Online DDL
  • 倒排索引
  • 自增主键实现
  • 自适应哈希索引
  • 更新丢失
  • 死锁
    • 超时回滚
    • 等待图
  • 分布式事务
  • MySQL语句执行原理

王思聪王校长被限制高消费 以后居然不能坐飞机了?你知道其中奥秘吗

重磅!王思聪被约束高消费,以后不能坐飞机出行了

  中新经纬客户端11月9日电(罗琨)9日,中新经纬记者从我国实行信息公开网得悉,王思聪已被上海市嘉定区人民法院发布约束消费令。

  上述约束消费令显示,法院于2019年08月12日立案实行申请人曹悦申请实行上海熊猫互娱文明有限公司其他合同纠纷一案,因熊猫互娱未按实行通知书指定的期间实行收效法律文书确认的给付义务,被采取约束消费措施,约束其法定代表人、首要负责人、影响债务实行的直接责任人员、实践操控人王思聪不得实施高消费及非生活和作业必需的消费行为。

截图来历:我国实行信息公开网截图来历:我国实行信息公开网

  据了解,上述高消费行为包含:

  (一)乘坐交通工具时,选择飞机、列车软卧、轮船二等以上舱位;

  (二)在星级以上宾馆、酒店、夜总会、高尔夫球场等场所进行高消费;

  (三)购买不动产或者新建、扩建、高级装修房屋;

  (四)租借高级写字楼、宾馆、公寓等场所作业;

  (五)购买非运营必需车辆;

  (六)旅游、休假;

  (七)子女就读高收费私立学校;

  (八)付出高额保费购买保险理财产品;

  (九)乘坐G字头动车组列车全部座位、其他动车组列车一等以上座位等其他非生活和作业必需的消费行为。(中新经纬APP)

以上是关于河北王校长MySQL的主要内容,如果未能解决你的问题,请参考以下文章

有感北大校长王恩哥的十句话

王校长撩妹不成反被锤爆?再有钱的舔狗也只是舔狗Python爬虫实战:微博评论采取

java集合进阶ArrayList源码

[面向对象杂谈]接口与多态

“河北科技创新平台年报系统”课堂讨论及课后作业

浅谈URI和URL