(重要)編輯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