② 内存热数据持久化,我们知道当系统重启或者mysql进程重启后,Innodb的内存池里面的热数据全部清空,需要重新把磁盘的数据缓存进来,然后根据LRU最近最少使用原则,把热数据保持在内存里,冷数据踢出到磁盘里。这个过程是缓慢的。5.6里改进了这一点,会自动把内存的热数据导出到磁盘里,这样mysql重启后,会立即从磁盘里导入Innodb内存池,减少了与磁盘IO的交互。
③ 在线DDL功能。5.5版本里,修改表结构会导致锁表,例如用户进件会卡住,假如表很大,锁的时间就会越长。所以在5.6版本里,解决了这一问题,DBA在修改表结构的同时,用户进件,Innodb内部row_log记录了ddl变更过程中新产生的dml操作,并在ddl执行的最后将其应用到新的表中,保证数据完整性。
④ 多线程复制(利用组提交方式实现),5.5版本里是单进程串行复制,通过sql_thread线程来恢复主库推送过来的binlog,这样会产生一个问题,主库上大量的写操作,从库就有可能会出现延迟。在MariaDB 10通过多线程复制技术,如果主库上1秒内有10个事务,那么合并一个IO提交一次,并在binlog里增加一个cid = XX 标记,当cid的值是一样的话,就可以进行并行复制,通过设置多个sql_thread线程实现。