当前位置: 首页 > 科技观察

关于MySQL8.0的几个关键点在这里

时间:2023-03-20 20:38:03 科技观察

1.MySQLServer的改进1.1Redolog重构在MySQL8.0中,redolog重新设计,主要改进fsync,使其更高效,减少锁,优化flush机制不经常冲洗。同时支持更高并发的用户请求。http://dimitrik.free.fr/blog/archives/2017/10/mysql-performance-80-redesigned-redo-log-readwrite-workloads-scalability.html1.2MySQLDDL在MySQL8.0原子性中实现了DDL。https://mysqlserverteam.com/atomic-ddl-in-mysql-8-0/1.3Histogram在MySQL8.0中增加了直方图的概念,用于索引统计和分析。https://mysqlserverteam.com/histogram-statistics-in-mysql/1.4降序索引MySQL8.0开始提供降序~https://dev.mysql.com/doc/refman/8.0/en/descending-indexes.html1.5隐藏索引MySQL8.0支持隐藏索引,添加和修改索引都可以通过隐藏索引来实现,方便了索引的管理。https://dev.mysql.com/doc/refman/8.0/en/invisible-indexes.html1.6临时表改进从5.7开始,所有内部临时表都成为“ibtmp1”的共享表空间。此外,临时表的元数据也存储在内存中。在MySQL8.0中,MEMORY存储引擎也将被TempTable存储引擎取代,作为内部临时表的默认存储引擎。这个新引擎为VARCHAR和VARBINARY列提供更高效的存储。https://dev.mysql.com/doc/refman/8.0/en/internal-temporary-tables.html1.7持久化全局变量MySQL8.0通过新的语法重启,这样下次重启依然生效。http://lefred.be/content/mysql-8-0-changing-configuration-easily-and-cloud-friendly/1.8重做和撤消加密在MysQL5.7中,可以对每个表的表空间进行加密。在MySQL8.0中,还可以对UNDO和REDOLOG进行加密,从而提高了MySQL的安全性。https://dev.mysql.com/doc/refman/8.0/en/innodb-tablespace-encryption.html#innodb-tablespace-encryption-redo-log1.9Innodb锁修改添加参数FORUPDATENOWAIT和FORUPDATESKIPLOCKED,可以设置等待跳过锁定,或者跳过锁定。https://dev.mysql.com/doc/refman/8.0/en/innodb-locking-reads.html#innodb-locking-reads-nowait-skip-locked1.10MySQL8.0中的window函数,新增window函数,可以用来实现几种新的查询方式,从而更好的用于数据统计和分析。http://elephantdolphin.blogspot.com/2017/09/mysql-8s-windowing-function-part-1.html1.11新的优化器在MySQL8.0.3中,引入了一个新的优化器SET_VAR用于在SQL中指定参数配置。https://mysqlserverteam.com/new-optimizer-hint-for-changing-the-session-system-variable/1.12角色在MySQL8.0中,增加了角色的功能。更方便用户管理http://datacharmer.blogspot.com/2017/09/revisiting-roles-in-mysql-80.html1.13字符集修改在MySQL8.0.1中,MySQL支持Unicode9.0,并修改了默认字符设置为utf8mb4http://lefred.be/content/mysql-clients-and-emojis/2.MySQLreplication的改进2.1replication的修改在MySQL8.0.3中,binlog和replication有新的变化。http://datacharmer.blogspot.com/2017/09/revisiting-roles-in-mysql-80.html2.2更高效的Json复制在MySQL8.0.3中,JSON复制更加高效,并提供了新的json函数。binlog中只记录update修改的内容,不是全部记录。https://mysqlhighavailability.com/efficient-json-replication-in-mysql-8-0/2.3复制增强在MySQL8.0.3中,关于修改复制和组复制的默认参数,“动态跟踪,调试日志”以及更多的性能监控工具。https://mysqlhighavailability.com/replication-features-in-mysql-8-0-3/2.4MySQLReplicationNewFeatures在MySQL8.0中,为了改进replication,增加了observability,并且提供了复制效率(基于WRITESET的并行复制)。https://mysqlhighavailability.com/mysql-8-0-new-features-in-replication/3.MySQL8.0.4中对MySQLMGR3.1组复制白名单支持的改进,支持组复制白名单,有效提高组复制的安全性。https://mysqlhighavailability.com/hostname-support-in-group-replication-whitelist/3.2MySQLINNODBCluster新特性MySQLINNODBCluster新增特性:https://mysqlserverteam.com/mysql-innodb-cluster-whats-new-in-the-8-0-ga-release/3.3MySQLMGR监控提高了MySQLGroupReplication的可观察性和可管理性,并增强了MySQL8.0.4中的相关工具。https://mysqlhighavailability.com/more-p_s-instrumentation-for-group-replication/4、关于MySQLbug修复4.1自增列bug修复(199)在MySQL8.0中,修复自增列的bug。不再使用max(自增id)+1的方法来判断下一个自增id。http://lefred.be/content/bye-bye-bug-199/

最新推荐
猜你喜欢