2

我的网站正在经历一个非常缓慢的加载时间。我怀疑可能是 javascript 或 php 导致加载时间更长,但我已经在 YSlow 中测试了我的网站,它的等级是 B,我认为这还不错。

现在我想检查我的数据库,如果查询有问题,数据库索引会导致我的网站加载速度变慢。

是否有一些教程或技巧我可能会阅读或尝试测试数据库以确定是否有慢查询?数据库管理有什么技巧吗?

4

3 回答 3

5

我总是退回到 2 个咒语以更快地执行查询 -

  1. 索引,索引和索引。
  2. 尽量摆脱JOINS

有一些久经考验的方法可以清除慢查询。您需要打开慢查询日志。这会记录所有执行时间超过 x 秒的查询。x 由您在 mysql.conf 中指定。

一旦慢查询开始记录在日志中。EXPLAIN您可以使用并适当添加索引来分析每个查询,以加快查询执行速度。

于 2012-10-24T00:57:25.867 回答
0

我在 PDO 之上(以前在 MySQL 之上)有一个薄的数据库抽象层,我已经烘焙了简单的查询日志记录,我可以打开和关闭它 - 它允许我获取查询的报告以及每个查询的时间长度拿。因此,不是有一个简单的截止 - 有些东西要么是一个长查询,要么不是 - 我可以看到我所有的查询时间。

MySQL 的慢查询日志不错,但是一秒的分辨率还不够我的需求。对我来说,很多时候,一个耗时 200 毫秒的查询表明有问题

我在这里显示我的年龄。在快速查看 MySQL 手册后,事实证明,long_query_time自 MySQL 5.1.27 以来,MySQL 的分辨率可以指定为微秒!尽管如此,我的方法仍然很方便。

于 2012-10-24T01:05:01.770 回答
0

sql 性能的好教程 -专注于 MySql。对于连接,如果您无法摆脱它们 - 请使用正确的连接:LEFT JOIN、RIGHT、INNER、OUTER

于 2012-10-24T06:39:27.097 回答