MySQL 8.0 索引跳跃扫描(Index Skip Scan)
MySQL 8.0.13 版本对于range查询,引入了索引跳跃扫描(Index Skip Scan)优化,支持不符合组合索引最左前缀原则条件下的SQL,依然能够使用组合索引,减少不必要的扫描。先看一下官方文档中给出的场景:CREATE T...继续阅读
MySQL 8.0.13 版本对于range查询,引入了索引跳跃扫描(Index Skip Scan)优化,支持不符合组合索引最左前缀原则条件下的SQL,依然能够使用组合索引,减少不必要的扫描。先看一下官方文档中给出的场景:CREATE T...继续阅读
本文汇总了MySQL 8.0 默认值发生改变的参数。1. sql_modeMySQL 8.0 sql_mode不再支持这几个选项:DB2MAXDBMSSQLMYSQL323MYSQL40ORACLEPOSTGRESQLNO_FIELD_OP...继续阅读
MySQL InnoDB Online DDL 提供了在线表变更的能力,在进行DDL操作的同时,不影响或者尽可能小的影响DML操作,相比于传统的表变更锁表,不允许写入,Online DDL最大程度地减少了对业务的影响。该功能在5.6版本引入...继续阅读
MySQL 8.0 对于分区表功能进行了较大的修改,在 8.0 之前,分区表在Server层实现,支持多种存储引擎,从 8.0 版本开始,分区表功能移到引擎层实现,目前MySQL 8.0 版本只有InnoDB存储引擎支持分区表。1. mys...继续阅读
MySQL 在 8.0.3 版本引入了新的事务调度算法,基于竞争感知的事务调度,Contention-Aware Transaction Scheduling,简称CATS。在CATS算法之前,MySQL使用FIFO算法,先到的事务先获得锁...继续阅读
MySQL 8.0.13 版本引入了一个新的参数sql_require_primary_key,开启这个参数,会在建表或者改表时,检查表中是否有主键,如果没有主键,则会报错。一、强制主键检查参数参数名称:sql_require_primar...继续阅读
doublewrite 是MySQL保证数据完整性的一种机制,doublewrite在磁盘上有一块专门的存储区域,InnoDB 刷脏页到磁盘时,先将页面写到这块专门的存储区,然后再将页面写入到InnoDB数据文件中,因为同一个页面,写了两次...继续阅读
MySQL 8.0.20 版本增加了binlog日志事务压缩功能,将事务信息使用zstd算法进行压缩,然后再写入binlog日志文件,这种被压缩后的事务信息,在binlog中对应为一个新的event类型,叫做Transaction_payl...继续阅读
MySQL 8.0 在引入新的功能和配置参数的同时,也开始废弃一些配置参数,被标记为废弃的参数,将在以后的版本被完全移除,在移除之前,这些参数仍然可以使用,但是不再建议使用。MySQL 8.0 废弃的参数,汇总如下:--compress,客...继续阅读
MySQL 8.0.17版本引入了一个antijoin的优化,这个优化能够将where条件中的not in(subquery), not exists(subquery),in(subquery) is not true,exists(su...继续阅读