MySQL各大版本新特性一览( 二 )

  • InnoDB 支持使用 spatial 索引来索引空间数据类型
  • 支持本地分区
  • 默认行格式由 compact 改为 DYNAMIC
  • 其他一. 支持JSON
    从MySQL 5.7.8开始,MySQL支持原生JSON类型 。
    震惊(居然还有这回事)
    二. EXPLAIN 可以用来获取在命名连接中执行的可解释语句的执行计划
    EXPLAIN [options] FOR CONNECTION connection_id;三. 允许在某个时间点,有多个触发事件
    之前:对于触发器事件(INSERT、UPDATE、DELETE)和操作时间(BEFORE、AFTER)的组合,一个表最多只能有一个触发器,即在某个触发时间点只能有一个触发事件
    四. 多源复制
    可将多个服务器的内容备份到一个服务器
    8.0突然发现每次更新都在加强这个 innnodb
    innodb
    1. 可以通过 INNODB_CACHED_INDEXES 查看每个索引缓存在 InnoDB 缓冲池中的索引页数量
    2. 可以使用一个新的动态变量 innodb_deadlock_detect 来禁用死锁检测
    3. redo log 优化,可以并发地写到日志缓冲区
    4. 日志缓冲区的大小可以通过 innodb_log_buffer_size 动态调整
    5. undo log 不再存放在系统表中
    6. 支持原子性的 DDL ,确保操作完全成功或者失败
    7. 从 MySQL 8.0.20 开始,doublewrite 缓冲区存储在 doublewrite 文件中
    其他一. Json 增强
    MySQL各大版本新特性一览

    文章插图
     
    二. 默认值
    可以为这些类型增加默认值 BLOB、TEXT、GEOMETRY 、 JSON
    三. 优化器增强
    1. 支持隐藏索引
    ALTER TABLE t1 ALTER INDEX i_idx INVISIBLE;ALTER TABLE t1 ALTER INDEX i_idx VISIBLE;
    1. 索引支持降序排序

    MySQL各大版本新特性一览

    文章插图
     
    四. 支持窗口函数
    五. 支持正则表达式
    (还有这操作的 )
    六. 备份锁
    允许在线备份时使用 DML 语句


    推荐阅读