有没有开源的 MySQL 性能工具来优化 SQL 查询?
答案1
要分析 mysql 命令,您可以使用SHOW PROFILE
mysql> SET profiling = 1;
mysql> [type your query here]
mysql> SHOW PROFILE;
要获取有关 mysql 将做什么以获得所需结果的更多信息,您可以使用EXPLAIN
.
mysql> EXPLAIN [type your query here]
优化的良好起点是索引的使用和内存使用量的增加my.cnf
(默认参数可能非常低)。如果删除表中的大量数据OPTIMIZE TABLE
也可能会有所帮助。
OPTIMIZE TABLE table;
无论如何,您应该使用 SHOW PROFILE 的输出来确定哪些部分需要大量时间并且值得优化。
优化时要注意查询缓存的切换。否则你就会欺骗自己。
答案2
首先,再多的优化和缓存也无法取代物理硬件。最佳的优化形式是向服务器添加更多内存,然后执行优化步骤。
优化 MySQL 是一个持续的过程。您应该每周对 MySQL 进行优化。这将允许您调整 MySQL 配置。
五年前,当这个问题被问到时,我们在 Trusty Tahr 上,这是我印象最深刻的一个,里面有一个my.cnf
你可以编辑的文件,快进到 Xenial,如果你打开,/etc/mysql
就没有my.cnf
可以编辑的文件。现在是一个链接/etc/alternatives/my.cnf
您要使用 Xenial (Ubuntu 16) 编辑的文件位于另一个目录中,即/etc/mysql/mysql.conf.d
.您将为查看这篇文章的人编辑的文件是mysqld.cnf
.
请备份您的文件,然后返回您的主目录并用于mysqlcheck
优化您的数据库。