【问题标题】:Difference in execution time of a query between PHP and PHPMyAdminPHP 和 PHPMyAdmin 之间查询的执行时间差异
【发布时间】:2016-11-21 16:44:13
【问题描述】:

我找到了其他关于此的帖子,但我无法解决我的问题。

当我通过 PHPMyAdmin 运行查询时,查询运行时间为 9 毫秒

显示记录 0-24(总共 35 个查询耗时 0.0009 秒)

但是,当您在 PHP 服务器中运行相同的查询时,查询需要 0.14 秒。

$sql = "select cd_categoria, linha, slug, cd_categoria_site, qtd from ( SELECT cd_categoria, if (menu.cd_categoria_pai=0,menu.nm_categoria,concat((select nm_categoria from tb_st_category where cd_categoria = menu.cd_categoria_pai),';',nm_categoria)) as linha , if (menu.cd_categoria_pai=0,menu.nm_slug,concat((select nm_slug from tb_st_category where cd_categoria = menu.cd_categoria_pai),'/',menu.nm_slug)) as slug , cd_categoria as cd_categoria_site , 0 as qtd FROM tb_st_category menu where cd_categoria_pai = 0 ) as a order by linha";
$pagespeed = microtime_float();
$query = $mysqli->query($sql);
echo "Query Time:".number_format(microtime_float()-$pagespeed, 2, ',', '')."<br>";

我该如何解决这个问题?我需要减少我的网站加载时间。

与数据库的连接也是如此。这需要 0.41 秒。我认为这个时间需要降低

测试页http://omenorpreco.com/teste.php

更新:

  • 我的 mysql 服务器是 Windows (WAMP)
  • 已经包含变量skip-name-resolve配置文件
  • 连接是通过 ip,而不是服务器名
  • 【问题讨论】:

    • 检查 PMA 如何运行查询和测量时间。在不知道它的精确度和精确度的情况下,您将苹果与香蕉进行比较。
    • Zerkms,你是什么意思?在 PMA 和 php(page) 中执行相同的查询
    • 对。 “并且说查询执行时间是” --- 你知道他们到底测量了什么以及如何测量?不要相信这个号码,检查他们的代码并找出他们是如何得到它的。
    • 我并不是说它不正确。我是说你不知道这个数字是什么意思。当您进行性能优化时 - 除了您自己,不要相信任何人。如果您无法检查 PMA 是如何做到这一点的 - 那么整个优化过程对您来说并不那么重要。
    • 你还在比较苹果和香蕉。

    标签: php performance mysqli mysql-connect


    【解决方案1】:

    根据https://stackoverflow.com/a/15293336/4275413 phpMyAdmin 显示从 mysql 本身报告的查询时间,您的脚本具有包装器、mysqli 库和其他东西的所有开销。

    【讨论】:

      猜你喜欢
      • 2013-04-15
      • 1970-01-01
      • 2018-11-07
      • 2013-02-23
      • 1970-01-01
      • 1970-01-01
      • 2014-10-14
      • 2017-01-22
      • 1970-01-01
      相关资源
      最近更新 更多