温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

MySQL 8新特性有哪些

发布时间:2021-11-08 10:27:23 来源:亿速云 阅读:216 作者:iii 栏目:MySQL数据库

这篇文章主要讲解了“MySQL 8新特性有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL 8新特性有哪些”吧!

授权表现在是Innodb表,以前都是MyISAM这会活得以下好处:

  1. 同时更改多个用户的时候可能某些成功某些失败。没有原子性

  2. 现在有原子性要么都成功要么都失败。13.1.1

  3. 默认认证插件为caching_sha2_password,性能更好更安全 6.4.1.3

  4. 支持角色 6.2.10

  • 资源管理器 8.12.5

  • Innodb 增强

  1. 自增字段修改加入redo 持久化

  2. 如果修改的值大于自增则持久化

  3. innodb_deadlock_detect可以关闭死锁检测

  4. INFORMATION_SCHEMA.INNODB_CACHED_INDEXES可以查看缓存的数据

  5. 支持for update nowait操作

  6. innodb使用mysql的数据字典 14

  7. 临时表存放到ibtmp1目录

  8. 分区表使用native,支持online DDL

  9. mysql系统表和变量现在放到innodb tablespace中叫做mysql.ibd

  10. innodb_undo_log_truncate默认开启

  11. innodb_rollback_segments参数含义,从全局变为每个undo表空间

  12. innodb_max_dirty_pages_pct_lwm参数默认值修改为10

  13. innodb_max_dirty_pages_pct从75增加到90

  14. innodb_auto_lock_mode默认设置为2,自增锁降低

  15. innodb_dedicated_server参数加入,默认是OFF,开启用于自动配置一些参数,包含:

innodb_buffer_pool_size
innodb_log_file_size
innodb_flush_method

  1. INFORMATION_SCHEMA.INNODB_TABLESPACES_BRIEF视图可以查看表空间类型

  2. Innodb支持原子性DDL

  3. SDI加入Serialized dictionary information (SDI) ,除了临时文件和UNDO表空间,其他数据
    文件都包含,SDI 数据是一个容易的表元数据,用于在数据字典损坏的情况下直接从表空间中
    抽取元数据,是压缩格式JSON

  4. redo 记录优化
    开启独占的redo写线程
    用户线程将脏数据写入flush list使用relaxed order
    新参数加入

    innodb_log_wait_for_flush_spin_hwm:定义最大平均日志写入时间
    innodb_log_spin_cpu_abs_lwm:定义最小CPU使用总数
    innodb_log_spin_cpu_pct_hwm:定义最大CPU使用总数

    这3个参数需要再研究

  5. innodb_log_buffer_size:可动态修改回收内存

  6. undo 日志对 small LOB data支持 8.0.12

  7. 瞬间增加字段支持,算法为ALGORITHM=INSTANT,优先使用INSTANT算法

  • 新增temptable存储引擎用于参数internal_tmp_mem_storage_engine参数,允许的值包含
    temptable 默认,memory是以前的。8.0.13支持blob数据类型

  • 关闭参数innodb_buffer_pool_in_core_file

  • 8.0.13用户建立的临时表和内部临时表存储在临时表空间中,当session断开的时候
    ibtmp1将会释放,但是不会将磁盘空间反还给操作系统,新增参数 innodb_temp_tablespaces_dir
    设置为#innodb_tmp 当session断开的时候将会截断然后将空间释放到pool中,反还给
    操作系统。

  • innodb_dedicated_server 可以动态分配部分参数 8.0.14
    innodb_buffer_pool_size
    innodb_log_file_size
    innodb_flush_method

  • innodb_parallel_read_threads参数并行进行聚集索引扫描用于优化check table性能

  • 如果超过temptable_max_ram内存大小将会使用临时文件或者innodb 表,默认使用mmap进行映射文件使用 temptable_use_mmap进行控制。新增的临时表引擎temptable和老的memory作为对比老的还是tmp_table_size or max_heap_table_size的大值

  • innodb_spin_wait_pause_multiplier 参数加入

  • innodb_parallel_read_threads 参数控制并发执行

  • 字符集变化
    默认的字符集使用utf8mb4而不是latin1,包含新增的校验字符集utf8mb4_ja_0900_as_cs

  • 优化器增强

  1. 不可见索引

  2. 降序索引

  3. 函数索引

  4. 类型返回检测
    比如c是一个TINYINT UNSIGNED 占用1字节最大255条件使用c < 256 恒成立,如果
    c >= 255转换为c=255

  5. 8.0.16 半连接支持EXISTS子查询

  6. 8.0.17 反半连接支持not in/not EXISTS

  • WITH AS语法支持

  • 开窗函数
    RANK(), LAG(), NTILE()

  • 配置管理端口
    如果达到 max_connections设置连接管理端口进行管理

  1. 需要配置admin_address为IP值,默认不开启

  2. 需要配置admin_port端口默认33062

  3. 没有连接限制

  4. 需要SERVICE_CONNECTION_ADMIN权限

  • 8.0.17 innodb归档支持

  • 8.0.17 innodb克隆插件

  • hostname支持上限从60到255

感谢各位的阅读,以上就是“MySQL 8新特性有哪些”的内容了,经过本文的学习后,相信大家对MySQL 8新特性有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI