likes
comments
collection
share

WordPress查看 SQL 的方法

作者站长头像
站长
· 阅读数 13

经过多年的 WordPress 开发经验,小编为您整理了三种查看 WordPress 执行 SQL 查询的方法,希望其中一种适合您的需求。

方法一:使用 WordPress 插件

最简单的方法是直接安装 WordPress 插件,例如:Query Monitor

WordPress查看 SQL 的方法

WordPress查看 SQL 的方法

小编点评:

Query Monitor 类似于 ThinkPHP 和 Laravel 自带的调试小工具,对于偶尔查看 SQL 查询来说还不错。但是,在 WordPress 页面包含几十甚至几百行 SQL 查询的情况下,使用该工具可能会显得不够负责任。

缺点: 当开发 API 或代码出现错误时,Query Monitor 将无法显示相关信息。它虽然可用,但并不是理想的选择,有点像那种不可靠的人,总是在平时出现,但在关键时刻消失不见。而且它的菜单藏得很深,需要多次点击才能找到 SQL 页。

推荐评级: 1 颗星(满分 5 颗星)

方法二:在 WordPress 代码中添加记录并打印 SQL 查询

通过编辑 WordPress 根目录下的 wp-config.php 文件,您可以启用 SQL 查询记录。

在文件中添加以下代码:

define('SAVEQUERIES', true);

然后在需要查看 SQL 查询的地方添加以下代码:

<?php
global $wpdb;
var_dump($wpdb->queries);
exit;
?>

这将启用 WordPress 记录执行的每个 SQL 查询,包括它们的执行时间,并将日志保存在名为 queries 的全局数组中。

小编点评:

想象一下,每次需要查看 SQL 查询时,都要找到适当的位置添加代码,查看完毕后再删除代码。如果问题仍未解决,您又需要返回并添加更多代码。这种循环会让您感到非常疲惫。

缺点: 需要修改代码,每天都要重复多次,即使将这几行代码定义为宏以避免手动输入,精神上仍然非常耗费精力。疲劳可能导致将错误的代码提交到线上环境的风险。

推荐评级: 2 颗星(满分 5 颗星)

方法三:使用外部工具

1. 启用 MySQL 的查询日志记录功能

只需在 MySQL 的 my.cnf 文件中添加以下代码,即可让 MySQL 记录所有执行的 SQL 查询:

# 记录 SQL
general_log = 1
general_log_file = /var/log/mysql/general_sql.log

WordPress查看 SQL 的方法 小编点评:

要使用这种方法,您需要具备对 MySQL 服务器的权限。如果多人共享一台 MySQL 开发服务器,最好不要启用此功能,因为会引起混乱。此外,由于日志包含大量信息,很难确定哪些查询是您的,因此只建议在测试服务器上使用,只在需要解决重要问题时才登录 MySQL 服务器查看它。

缺点: 需要登录到 MySQL 服务器才能查看日志,如果 MySQL 出现问题,可能会受到怀疑。此外,由于记录了所有 SQL 查询,导致查询量巨大,很难找到与您相关的查询。

推荐评级: 3 颗星(满分 5 颗星)

2. 使用 PHPStorm 插件

PHPStorm 的插件市场提供了一个名为 MySQL Proxy 插件,将代码里数据库配置更改为它代理的端口,就能将所有的 SQL 日志展示出来。是小编目前用的唯一顺手的工具,不用改代码,不需要 MySQL 数据库服务器权限,并且检索方便。

WordPress查看 SQL 的方法

小编点评:

这个工具类似于 MyCAT,它可以代理并记录 SQL 语句。

缺点: 尽管支持搜索功能,但不支持正则表达式搜索,只支持文本搜索,很遗憾,在复杂场景下不能满足小编的需求。

推荐评级: 4 颗星(满分 5 颗星)

以上是在 WordPress 中查看执行的 SQL 查询的几种方法。您喜欢哪一种方法?或者您是否有其他更好的方法?请在评论中告诉我们,以便小编补充更多信息。

转载自:https://juejin.cn/post/7278982293707505675
评论
请登录