MySQL:如何找出不使用的索引

在数据库中,索引起到查询加速的作用,可以有效提升查询速度以及排序查询效率。但是,如果表上索引过多,会影响插入速度。 我们日常工作中,要日常检查索引是否在使用,不使用的索引要删掉节省空间。 MySQL查找不使用的索引:

Read more

MySQL 导出表上所有索引的创建语句

获取单表上所有索引的建表语句

  获取非主键索引的建表语句

  获取主键索引的建表语句

  如果想获取整个库中所有表的索引创建语句,可以写存储过程循环执行就行了。 &nbs

Read more

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

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

 

Read more

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

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

Read more