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

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

 

Read more

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

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

Read more