mysql8+新语法_MySQL8.0新特性
⽆意中发现MySQL的版本已经更新到8.0了,了解⼀下不同的地⽅
数据字典
新增了事务型的数据字典,⽤来存储数据库对象信息
之前,字典数据是存储在元数据⽂件和⾮事务型表中的
账号权限管理
添加了对 “⾓⾊” 的⽀持,⾓⾊会对应⼀套权限,⾓⾊可以被添加、删除,⾓⾊上的权限也可以进⾏增删
可以对⽤户账号添加和删除⾓⾊
InnoDB 提升
完善了对⾃增计数器(auto-increment counter)的管理,例如设置了计数器的初始值,在服务器重启后也不会受到影响;执⾏ROLLBACK 也不会导致计数器的值被重⽤
InnoDB memcached 插件⽀持在⼀个查询中获取多个key/value对⼉,并可以进⾏范围查询
新增了动态配置项 innodb_deadlock_detect,⽤来禁⽤死锁检查,因为在⾼并发系统中,当⼤量线程等待同⼀个锁时,死锁检查会⼤⼤拖慢数据库
所有的InnoDB临时表会被创建到共享的临时表空间中
SELECT ... FOR SHARE 和 SELECT ... FOR UPDATE 中⽀持 NOWAIT、SKIP LOCKED选项,NOWAIT 的作⽤是,当被请求的⾏被锁住时,此语句⽴即返回;SKIP LOCKED的作⽤是从结果集中移除被锁住的⾏
JSON 提升
添加内联路径操作符 ->>,相当于对 JSON_EXTRACT() 的结果集调⽤ JSON_UNQUOTE()
新增两个JSON聚合函数:JSON_ARRAYAGG()、 JSON_OBJECTAGG()(相关⽂章:体验 Mysql 操作 JSON ⽂档、体验 MySQL 8.0 JSON聚合函数)
新加⼀个⼯具函数 JSON_PRETTY(),可以对 JSON 进⾏格式化,提⾼可读性mysql帮助文档
在查询中使⽤ order by 对 JSON 值进⾏排序时,每个值的 sort key 的长度将是可变的,⽽不再是固定的1K,有两个好处,1)更⾼效的使⽤排序缓冲空间,更多的数据可以在内存中,避免不必要的磁盘访问;2)提⾼ key 的⽐较性能
Optimizer 优化器
⽀持隐藏索引,优化器可以忽略隐藏索引,但隐藏索引是被正常维护的,作⽤是⽤来测试⽆效索引,删除某索引之前,可以先设置为隐藏索引,确定对系统没有影响后再删除,以防删掉后再次重建(相关⽂章:MySQL 8.0 新特性 :隐藏索引)
⽀持降序索引,可以对索引定义 DESC,之前,索引可以被反序扫描,但影响性能,⽽降序索引就可以⾼效的完成

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。