阿里云RDS使用感受

读写分离: 1、只读从库按照小时结算(通用型 8核、32G内存,500G硬盘,4.63元/小时)。 2、按年计算,只读从库总费用超过主库。主库默认带一个备库用于灾备,从库没有备库。阿里云库少赚的钱,从库给你找补回来。 3、只读从库购买之后初始化数据要持续一段时间(主库165G,只读从库初始化时间大约30分钟)。 4、购买只读从库后,需要在主库界面点击“申请读写分离地址” 5、设置读写分离权重后,大

Read more

MySQL:如何找出长时间执行的查询SQL和事务SQL

MySQL中存在长时间运行的SQL和事务(超过120S),对数据库而言是潜在隐患,这颗“雷”总有爆炸的一天。 比如,修改表结构之前,切记要在从库检查是否有长时间运行的SQL,有请杀掉,避免从库产生元数据锁引起的从库延迟。 建议定时扫描MySQL中长时间运行的SQL,并kill掉,排除隐患。

 

Read more

MySQL:如何找出数据库中没有主键的表

工作中MySQL使用Innodb引擎时,创建表一定要加上主键(最好是无意义的auto increment列)。如果表没有主键和索引,且数据量很大,那么在主从复制时,从库上该表的dml操作不能根据主键和索引快速定位到操作的数据,只能采用全表扫描,速度非常缓慢。 因此,对于InnoDB而言,主键非常重要。 找出数据库中哪些表没有主键:

Read more

MySQL 减少从库延迟的方法

从库延迟有两方面原因: 1、IO thread慢,主要是因为网络带宽不足。 在主从库开启启压缩参数slave_compressed_protocol减少压力。网上查看实验数据,压缩率大概是1/4(开启压缩7.14MB/s,不开启则是23.76MB/s) 如果CPU压力已经很大不建议开启压缩参数,毕竟压缩要消耗大量CPU资源。 2、 SQL thread慢。 SQL thread负责读取relay

Read more

Mycat 聚合函数bug

开发同事反应给我,通过Mycat 查询小值,遇到了一个bug。子查询中应该得到结果为5个10,整个查询结果应为10。但是这里为0,显然是错误的。

我测试了几遍,确实存在这个问题。向下直接捅到MySQL,在不同分片上执行相同的语句。 结果有两种。 1、子查询所在的分片中表中没有数据,那么返回值为NULL [crayon-5df4ef3

Read more

【转】58到家数据库30条军规解读

写的很好,记录下来。 转自58到家数据库30条军规解读 军规适用场景:并发量大、数据量大的互联网业务 军规:介绍内容 解读:讲解原因,解读比军规更重要   一、基础规范 (1)必须使用InnoDB存储引擎 解读:支持事务、行级锁、并发性能更好、CPU及内存缓存页优化使得资源利用率更高   (2)必须使用UTF8字符集 解读:万国码,无需转码,无乱码风险,节省空间  

Read more

MySQL临时表使用注意事项

创建临时表

创建的临时表只对当前会话可见,用于存放临时数据,关闭会话临时表自动删除。 show tables看不到表,但是可以通过show create table t\G 来查看表结构。

  临时表的默认存储引擎,由 default_tmp_storage

Read more