我想要通过PHP脚本来计算生成页面所用到的MySQL查询数量。我使用以下查询语句:
SHOW SESSION STATUS WHERE Variable_name LIKE 'Questions';
但是它给了我一个很大的数字(百万级别)。我已经搜索了MySQL文档和手册,但没有找到“session”究竟是什么意思的定义。
似乎会话并不等同于当前连接。
如果有人能解释一下什么是会话、何时开始和结束,我将非常感激。
我想要通过PHP脚本来计算生成页面所用到的MySQL查询数量。我使用以下查询语句:
SHOW SESSION STATUS WHERE Variable_name LIKE 'Questions';
但是它给了我一个很大的数字(百万级别)。我已经搜索了MySQL文档和手册,但没有找到“session”究竟是什么意思的定义。
似乎会话并不等同于当前连接。
如果有人能解释一下什么是会话、何时开始和结束,我将非常感激。
来自 MySQL 手册:
使用
SESSION
修饰符,该语句会显示当前连接的状态变量值。如果变量没有会话值,则显示全局值。
我认为问题在于,如果您在第一次创建数据库连接时运行 SHOW SESSION STATUS LIKE 'Questions';
,则尚未执行任何查询,因此显示了 GLOBAL
数据。当您通过命令行 mysql
客户端连接时,客户端会在启动时执行几个查询,因此会话已设置此变量。请在运行 SHOW SESSION STATUS LIKE 'Questions'
之前运行查询。