当前位置: 首页 > 面试题库 >

PHP与MySQL的速度很慢

贺兴昌
2023-03-14
问题内容

(重要)编辑3: 单独运行testajax2.php而 _不是_Ajax。持续时间大致相同,为1.02-1.03秒。所以我想这意味着问题出在PHP-
MySQL或XAMPP中?

当我通过phpMyAdmin查询运行它时,结果如下:显示第0-29行(总计约50行。查询用时
0.0015秒 )。看来问题根本不在于Ajax,而可能在于PHP。我怎样才能解决这个问题?(我也刚刚编辑了问题标题。)

答案: 在位于以下位置的主机文件中添加以下行 鈥滳:\Windows\System32\drivers\etc鈥�

   127.0.0.1 localhost

之前的问题:

jQuery Ajax的 最小持续时间至少为1秒, 这在正常情况下适用于jQuery
Ajax吗?我试过$.get$.post$.getjson$.ajax({type:'POST'})$.ajax({type:'GET'})。正如我所说的,这是最低要求。甚至可能恶化到大约3秒。我怀疑这是SQL查询,因为当我在phpMyAdmin中尝试它们时,结果显示得非常快。

如果查询非常简单并且表仅包含2个元素,也将紧随其后的是1秒的最小时间。我正在使用最新的XAMPP,我不知道这是否重要,但是我正在通过localhost和127.0.0.1访问文件。

我在本地环境中运行这些文件的同一台笔记本电脑上。jQuery已更新。返回的值/数组是json_encoded。我正在使用mysqli。该数据库位于InnoDB中,并且其中只有大约五个表,并且几乎没有任何内容。这是一个非常简单的示例查询:

文件 index.php

    var test_id =2;
    testcall();
    function testcall(){
        $.ajax({
            url: 'testajax2.php',
            type: 'POST',
            data: {test_id: test_id},
            success: function(data){

            }
        });
    }

文件 testajax2.php

    $mysqli = new mysqli('localhost', 'root', '', 'testdb');
    $mysqli->set_charset("utf8");
    if(mysqli_connect_errno()) {
        echo "Connection Failed: " . mysqli_connect_errno();
        exit();
    }

    $testreceive = $_POST['test_id'];
    $query = "SELECT First_Name from tblperson";
    $result = $mysqli->query($query);
    $row = $result->fetch_all(MYSQLI_ASSOC);

    echo json_encode($row);

tblperson包含50条记录,并且只有四列。根据Firebug的说法,完成这个极其简单的任务需要1.03秒。我不确定这是什么意思,但是通过Firebug的“
网络”
选项卡查看时,该条完全是紫色的。0和1.03秒等待。+1.03秒和0接收。

如果我以json_encode($row)或寄出也没关系foreach($row as $value){ echo $value['First_Name']; }。仍将至少大约1秒。我已经在Chrome和Safari上进行过尝试,尽管我没有确切的时间长度,但我可以说大致相同。但是对于 没有SQL查询
的简单Ajax调用。如果我没记错的话,它的速度非常快。我会返回一个示例和持续时间输出。


问题答案:

在位于以下位置的主机文件中添加以下行: 鈥滳:\Windows\System32\drivers\etc鈥�

   127.0.0.1 localhost

这解决了我的问题。PHP-MySQL现在可以完成其任务,具体取决于20-500毫秒之间的复杂程度。



 类似资料:
  • 使用xarray的open_mfdataset打开一系列大约90个netCDF文件,每个文件大约27MB,加载一个小的时空选择需要很长时间。 分块维度产生边际收益。decode_cf=True在函数内部或单独都没有区别。这里还有一个建议https://groups.google.com/forum/#!topic/xarray/11lDGSeza78让我将所选内容另存为一个单独的netCdf并重新

  • 问题内容: 我正在使用Google BigQuery,并且正在从PHP执行一些简单的查询。(例如,从电子邮件中的SELECT * WHERE email='mail@test.com‘)我只是在检查表中是否存在该电子邮件。 表“电子邮件”目前为空。但是,PHP脚本仍然需要大约4分钟的时间来检查一个空表上的175封电子邮件。.如我希望将来该表将被填充,并且将有500 000封邮件,那么我想请求时间会

  • 受这个问题的启发。我创建了一个小型基准测试程序来比较原型、二进制格式和Json。NET。基准测试本身是一个基于https://github.com/sidshetye/SerializersCompare的小型控制台。随意添加/改进,向组合中添加一个新的序列化程序非常简单。无论如何,我的结果是: 免责声明: > 以上结果来自Windows虚拟机-与裸机操作系统相比,非常小间隔的秒表/计时器值可能不

  • 问题内容: 我有运行返回的json数据的此功能。在chrome中速度确实很高,但是在IE和FF中却很慢。有关如何改善此问题的建议?返回的数据约为15个对象。这将在顶部创建一堆锚点,并在每个标题下列出。 问题答案: 这是结合以下性能增强功能的代码版本: 在循环结束时仅将一次添加到innerHTML中。您希望尽可能避免这样做,因为每次添加到该项目时,它都会导致该项目中所有HTML的完整重新解析。这样可

  • 问题内容: 它们看起来几乎一样,甚至是语法? 使用什么?或什么时候使用什么? 问题答案: 速度不再是真正活跃的开发。Freemarker是。 根据我的经验,Freemarker也更加灵活。