(重要)编辑3:自身运行testajax2.php和NOT AJAX。持续时间大致相同,为1.02-1.03秒。所以我猜这意味着问题出在PHP-MYSQL或XAMPP上?当通过phpmyadmin查询运行时,结果如下:显示行0 - 29(总共约50个,查询花了0.0015秒)。看起来问题不在于Ajax,而是可能在PHP中。帮助请...(我也只是编辑的问题标题。)PHP与MySQL是慢
答:添加下面一行在位于”C:\Windows\System32\drivers\etc”
127.0.0.1 localhost
面前的问题hosts文件: 这是正常的jQuery Ajax和SQL查询的另一边有1秒的 最短持续时间?我试过
$.get
,$.post
,$.getjson
,$.ajax({type:'POST'})
,$.ajax({type:'GET'})
。正如我所说,这是最低限度的,甚至可能会变得更糟。我怀疑这是sql查询,当我在phpmyadmin中尝试它们时,结果非常快。 它不也很重要,如果查询是非常简单的表只有2个元素,它仍然会按照1秒最小。我使用最新的XAMPP,我不知道它是否重要,但我通过本地主机和127.0.0.1访问这些文件。谢谢!
编辑:感谢您的答复,伙计们。我在本地环境中运行它,在我制作这些文件的同一台笔记本电脑上运行。 Jquery已更新。返回的值/数组是json_encoded。我正在使用mysqli。数据库在InnoDB中,内部只有大约5个表格,并且几乎没有任何内容。这里是一个非常简单的示例查询:
的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个记录,并且只有4列。根据Firebug的说法,花了1.03s来完成这项非常简单的任务。我不确定它的真正含义,但是通过Firebug中的Net选项卡查看,酒吧完全是紫罗兰色。 0和1.03s等待。 + 1.03s和0接收。
编辑2:如果我将它们发送为json_encode($row)
或foreach($row as $value){ echo $value['First_Name']; }
也无所谓。它仍然至少约1秒。我已经尝试过使用Chrome和Safari,尽管我无法获得确切的持续时间,但我可以告诉大家的是相同的。但对于使用NO SQL QUERIES进行简单的ajax调用。如果我没记错,速度非常快。我会回来一个样本和持续时间输出。
我们需要更多信息,您的上下文过于模糊。你有链接,我们可以尝试吗?你同时有多少个Ajax调用?您的环境是本地还是远程? .... –
你能显示相关的代码吗? –
对我来说,我的设置是不正常的。本地我的ajax请求(平均来说,根据萤火虫)在140ms内完成。但正如其他评论所说......我们不知道你的机器上发生了什么,脚本有多复杂。 – Dale