mysql5.5和5.6版本更新内容

it2025-02-28  24

mysql 5.5,5.6 比5.1改进地方:

1,5.5默认存储引擎为innodb2,5.5增加cpu多核处理能力:innodb_read_io_threads innodb_write_io_threads3,5.5改善磁盘IO 提高脏页刷新增也数量和合并插入数量:innodb_io_capacity 增加自适应刷新脏页功能:innodb_adaptive_flushing (innodb刷新脏页的规则是在如下三种情况下才会把innodb_buffer_pool的脏页输入磁盘: 1,当超过innodb_max_dirty_pages_pct设定的值时, 2,重做日志ib_logfile文件写满时, 3,机器空闲的时候。)4,5.5innodb的数据恢复时间加快 redo log 最大可以设置为4GB,降低了IO需求,刷脏页频率降低,极大提高了Innodb写的性能5,5.5innodb支持多个bufferPool :innodb_buffer_pool_instances6,5.5支持关闭自适应哈希索引功能 哈希索引可以提高查询性能,但是高并发情况下会造成RW-latch挣用,堵塞进程 可以:show engine innodb status\G; 监控SEMA-PHORES ,如果waits很多那么应该关闭该功能,从而提升写性能 innodb_adaptive_hash_index参数开启或关闭hash索引7,5.5innodb可以宣誓使用内存分配程序 TCMalloc每个线程均有缓冲区,可以大幅度提高mysql性能和内存使用 mysql多线程小内存分配8,5.5提高默认innodb线程并发数 innodb_thread_concurrency默认为0,表示不显示并发数9,5.5实现了异步I/O innodb_use_native_aio参数10,5.5恢复组提交 组提交模式只支持sync_binlog=0,innodb_support_xa=0的情况下 目的是保证innodb存储引擎redo log事物日志与binlog日志顺序一致11,5.5更新创建索引更快,增加删除索引不会锁表 创建和删除非聚集索引不用复制整张表内容了,聚集索引还需要,聚集索引是把primary key和row data 保存在一起,而secondary index 是单独存放,有个指针指向primary key12,5.5支持创建压缩数据页 barracuda文件格式且是独立表空间,才支持数据页压缩,另压缩会带来额外的cpu消耗13,5.5可以动态关闭数据元统计功能 innodb_stats_on_metadata=OFF 5.6默认是关闭 提升mysql性能14,5.5开启innodb严格检查模式,增加安全性 innodb_strict_mode=1 默认是off sql_mode15,5.5支持动态更改独立表空间 set global innodb_file_per_table=1 默认共享表空间 支持动态更改innodb锁超时时间 set global innodb_lock_wait_timeout= 10 默认50秒16,5.5增加半同步复制功能 master上4个相关参数 rpl_semi_sync_master_enabled=ON 表示master开启半同步功能 rpl_semi_sync_master_timeout=10000 默认10000毫秒即10秒等待slave,即某次事物中等待超过10秒降级为异步复制 rpl_semi_sync_master_wait_no_slave, 默认ON,表示master每个事务提交后都等待slave接受确认信号,若为off,slave追赶上后不会开启半同步复制 rpl_semi_sync_master_trace_level=32,默认32,开启半同步复制的模式的调试级别 slave上2个参数 rpl_semi_sync_slave_enabled=ON 表示master开启半同步功能 rpl_semi_sync_slave_trace_level=32,默认32,开启半同步复制的模式的调试级别 半同步复制跟IO_therad有直接关系与sql_therad没关系,也就是说slave 从库接受到二进制日志后会给master主一个确认,并不会管relay-log中继日志否是执行完。 异步复制的性能(吞吐率)要好于半同步复制。17,5.5复制功能加强,增加中继日志relay_log自我修复功能 relay_log_recovery=1 5.6同步复制新特性 mysql可以通过GTID自动找同步点,无需指定binglog和pos点(基于事务,myisam不支持)另无法跳过错误,gtid模式下不支持:sql_slave_skip_counter参数 开启参数:gtid-mode=ON disable-gtid-unsafe-statements=ON 增加基于库的多线程复制,多个库复制可以使用多线程复制,一个库的表里多线程复制无效 开启参数:slave_parallel_workers 默认为0 不开启,最大可以开启1024个线程。18,5.6版本后子查询被改为join方式19,5.6新特性 快速预热buffer_pool my.cnf中添加: innodb_buffer_pool_dump_at_shutdown=1 关闭时把热数据备份到本地磁盘ib_buffer_pool文件中 innodb_buffer_pool_load_at_startup=1 启动时加载热数据到内存20,5.6新加binlog-row-imaeg参数 当binlog_format=row时,binlog-row-imaeg=full ,binlog日志会记录影响的行所有记录 binlog-row-imaeg=minimal,binlog日志只记录影响的那一行的记录21,5.6year(2)自动转换为year(4)参数22,5.6在线ddl功能,即增加字段时,增、删、改、查均不受影响,不锁表(5.5锁表)23,5.6一条sql可以使用两个索引,支持全文索引24,5.6支持explain update

转载于:https://www.cnblogs.com/youhunyimeng/p/6407486.html

最新回复(0)