随笔分类 -  MySQL

摘要:工作中遇到一则很奇怪的真实案例,有一个统计sql,统计结果在190 200之间时,耗时基本上维持在1.6S,统计结果在此数据范围外的统计耗时,基本上维持在0.1 0.3S之间, 按照惯例,explain查看执行计划。 为方便阐述,约定如下 : 数据范围在190 200,耗时1.6S的叫 sql1,数 阅读全文
posted @ 2018-07-26 00:02 Jandison 阅读(328) 评论(0) 推荐(0)
摘要:master存活的状态下切换 masterha_master_switch --conf=/etc/masterha/app1.cnf --master_state=alive --new_master_host=192.168.0.101 --orig_master_is_new_slave -- 阅读全文
posted @ 2017-11-07 16:29 Jandison 阅读(6556) 评论(0) 推荐(0)
摘要:group replication是一种全新的高可用,高扩张的MySQL集群服务。高一致性,基于原生复制及paxos协议的组复制技术,以插件方式提供一致数据安全保证;高容错性,大多数服务正常就可继续工作,自动不同节点检测资源征用冲突,按顺序优先处理,内置自动防脑裂机制;高扩展性,自动添加移除节点,并 阅读全文
posted @ 2017-07-30 21:48 Jandison 阅读(452) 评论(0) 推荐(0)
摘要:MySQL · 特性分析 · 优化器 MRR & BKA 上一篇文章咱们对 ICP 进行了一次全面的分析,本篇文章小编继续为大家分析优化器的另外两个选项: MRR & batched_key_access(BKA) ,分析一下他们的作用、原理、相互关系、源码实现以及使用范围。 什么是 MRR MRR 阅读全文
posted @ 2017-06-30 09:43 Jandison 阅读(485) 评论(0) 推荐(0)
摘要:二进制日志是写操作是,首先写入二进制日志缓冲(binlog_cache)然后commit,再从binlog_cache写入到binlog文件,默认大小为32K,而binlog_cache是session级别的,也就是说实际binlog cache占用内存数= connections * binlog 阅读全文
posted @ 2017-06-21 16:49 Jandison 阅读(2670) 评论(0) 推荐(0)
摘要:Antelope和Barracuda均为innodb存储引擎的文件格式,Antelope为默认格式,非压缩;Barracuda为压缩格式;两者主要的不同在于对大数据量的存储时所占用的空间差异。若要使用innodb的压缩功能,则必须使用innodb_file_format=Barracuda,不然没有 阅读全文
posted @ 2017-06-21 15:33 Jandison 阅读(881) 评论(0) 推荐(0)
摘要:通常在mysql重启服务后,需要通过手工执行SQL来预热buffer_pool,在mysql5.6中,有如下参数可以无需人工干预。innodb_buffer_pool_dump_at_shutdown= 1:在关闭时把热数据dump到本地磁盘innodb_buffer_pool_dump_now =... 阅读全文
posted @ 2015-02-10 12:39 Jandison 阅读(341) 评论(0) 推荐(0)
摘要:优化前:SELECT a.* FROM t1 a,(SELECT obj_id,MAX(PRE_DETAIL_INST_ID) PRE_DETAIL_INST_ID FROM t1 WHERE DATE_FORMAT(crt_date,'%Y-%m-%d %H') = DATE_FORMAT(DAT... 阅读全文
posted @ 2015-01-30 11:13 Jandison 阅读(5059) 评论(0) 推荐(0)
摘要:mysql中日志类型有慢查询日志,二进制日志,错误日志,默认情况下,系统只打开错误日志,因为开启日志会产生较大的IO性能消耗。一般情况下,生成系统中很少打开二进制日志(bin log),bin log日志的优化策略:mysql> show variables like '%binlog%';+---... 阅读全文
posted @ 2015-01-16 17:29 Jandison 阅读(2904) 评论(0) 推荐(0)
摘要:mysqldump备份机制:通过给定的参数信息和系统表数据,来一张表一张表地获取数据并生成insert语句插入备份文件中,这样由于时间点不一致,就会导致数据不一致,然而对于一个要求强一致性的系统来说,这种方式备份出来的文件完全无效。所以要想mysqldump备份的数据具有一致性,有以下方法①,利用事... 阅读全文
posted @ 2015-01-12 10:57 Jandison 阅读(198) 评论(0) 推荐(0)
摘要:mysql的权限控制主要是通过mysql库下的db,user,host,table_priv,column_priv表控制。由于权限信息数据量比较小,所以mysql在启动时会将所有的权限消息加载到内存。所以每次手工修改相关权限表时需要通过 flush privileges命令来重新加载。但是如果是通... 阅读全文
posted @ 2015-01-11 16:04 Jandison 阅读(433) 评论(0) 推荐(0)