您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > mysql5.6新特性【博森瑞】
1-1Copyright©Bosenrui,2015.Allrightsreserved.MySQL5.6特性深入剖析博森瑞1-2Copyright©Bosenrui,2015.Allrightsreserved.Innodb存储引擎层:新特性特点:Innodb性能优化Innodb功能增强Mysql5.6简介1-3Copyright©Bosenrui,2015.Allrightsreserved.Read-OnlyTransactionsBufferPoolFlushingPageCleanerPurgeCRC32CompressionDataDictionaryLRUInnoDB性能优化1-4Copyright©Bosenrui,2015.Allrightsreserved.Read-OnlyTransactions优化分析:将活跃事务拆分开,只读事务和更新事务链表1-5Copyright©Bosenrui,2015.Allrightsreserved.BufferPoolFlushing(FlushListFlush)Innodb的checkpoint策略,按照内部脏页链表flushlist,将最老的一部分脏页写出磁盘。优化分析:系统平均脏页速度系统平均日志速度新参数的引入:innodb_adaptive_flushing_lwminnodb_max_dirty_pages_pct_lwminnodb_max_io_capacityinnodb_flushing_avg_loops1-6Copyright©Bosenrui,2015.Allrightsreserved.InnoDB-PageCleaner将LRUListFlush与FlushListFlush全部移到PageCleaner后台线程中处理,减少MasterThread与UserThread的压力优化分析:从LRU链表尾部开始遍历:将未使用的CleanPage从LRU链表摘除;将未使用的DirtyPage写出,然后从LRU链表摘除.新参数的引入:innodb_lru_scan_depth1-7Copyright©Bosenrui,2015.Allrightsreserved.InnoDB-PurgeThreadInnoDB读取提交事务的Undo记录,然后将事务更新所产生的历史版本,从数据文件中删除的操作;优化分析:MySQL5.1,Purge操作在InnoDBMasterThread中完成;MySQL5.5,一个Purge后台线程;MySQL5.6,多个Purge线程,并发回收历史版本;新参数的引入:innodb_purge_threads默认1,取值[1,32]1-8Copyright©Bosenrui,2015.Allrightsreserved.InnoDB-DataDictionaryLRUDataDictionary每一个用户表,在InnoDB的系统表中都存储着一些元数据信息;前端SQL操作用户表时,该表的元数据信息会被读取出来,存放于InnoDBDataDictionaryCache之中.优化分析:将DictionaryCache中的所有表元数据,维护为一个LRU链表新参数的引入:table_definition_cache1-9Copyright©Bosenrui,2015.Allrightsreserved.OnlineDDLMemcachedPluginTransportableTablespaceBufferPoolDump/RestorePersistentStatisticsInnoDB功能增强1-10Copyright©Bosenrui,2015.Allrightsreserved.CopyTable新建TempTable;锁原表,原表可读不可写;将原表数据Copy到Temp表;删除原表,重命名Temp表,解锁Inplace直接在原表上进行DDL(Add/DropIndex),锁表进行OnlineDDL操作过程中不长时间锁表,并发操作可读可写,提供高并发InnoDB-OnlineDDL
本文标题:mysql5.6新特性【博森瑞】
链接地址:https://www.777doc.com/doc-7536614 .html