MYSQL优化技巧(一)

在本节介绍中,mysql的优化从两部分说明:基本的配置优化和索引的基本优化。

首先介绍两个优化工具mysqltuner.plPercona Toolkit 

MysqlTuner

mysqltuner是一个 Perl 脚本,可以用来分析您的 MySQL 性能,并且基于收集到的信息给出相应的优化建议。这样子,您就可以调整 my.cnf 从而优化您的 MySQL 设置。

下载mysqltuner后,直接可以运行:

perl mysqltuner.pl

结果可能如下所示

上面列出了一系列的优化建议。 针对每一条的建议,确认方案后,再着手进行优化。
举例说明一下如何实施建议优化。上面提到的建议中有一条:[!!] Query cache is disabled。查询缓存没有开启。这是一条很重要的优化措施,开启查询缓存,mysql会缓存查询后的sql结果。
首先,确认下相关配置

从上面可以看到,我们开启了缓存优化,但没有设置query_cache_size。 我们只需要把此值设置成合适的。

其余的优化措施只要重复以上步骤即可。

注意:如果修改my.cnf配置文件,要重启mysql才能生效。优化完成之后,需要mysql运行一段时间后,才可以执行mysqltuner.pl。这样得出的优化建议才更准确。

Percona Toolkit

Percona Toolkit 是一组高级命令行工具的集合,用来执行各种通过手工执行非常复
杂和麻烦的 mysql 任务和系统任务。这些工具主要包括开发、性能、配置、监控、复制、系统、实用六大类。

pt-variable-advisor

pt-variable-advisor:分析 mysql 的参数变量,并对可能存在的问题提出建议。

执行

结果可能如下:

pt-duplicate-key-checker

pt-duplicate-key-checker:这个工具检查mysql表中的重复的索引和外键,并把重复的索引和外键都列出来,并且生成了删除重复索引和外键的sql语句。

执行

结果可能是:

可以看到country_id是重复索引,用show create table 语句确认下

m2是多级索引,m2索引适用
country_id
country_id  album_type_id

以上两种形式的索引。因此索引country_id就没有存在的必要了,直接删除即可。

此条目发表在MYSQL分类目录。将固定链接加入收藏夹。

发表评论

邮箱地址不会被公开。