【发布时间】:2016-09-20 05:29:34
【问题描述】:
我在 MYSQL 的一个表中拥有近 80,000 条记录,我想让它显示在自动完成控件中。
表结构如下所示
Table_name
-ID
-Code
-codeType
在客户端,我制作了如下所示的自动完成脚本
var Cds = "";
$.ajax({
type: "POST",
url:"cdList.php",
async: false,
data:{
value1 : '9'
},
success:function(result){
Cds = JSON.parse(result);
}
});
$("#prin").autocomplete({
minlength : 3,
source: Cds,
autoFocus:true,
width:500
});
cdList.php
<?php
$con = mysql_connect("localhost","***","***");
if(!$con){
die("Error : ".mysql_error());
}
mysql_select_db("ananth",$con);
$value1 = $_POST['value1'];
$cd9 = array();
$result = mysql_query("select * from Table_name where codeType = '9' AND Code LIKE '$value1%'");
while($row = mysql_fetch_array($result)){
$cd9[] = $row['Code'];
}
echo json_encode($cd9);
?>
即使我在自动完成控件中设置了 minLength,我仍然觉得获取数据的速度很慢。花了大约30秒。那么如何才能让它变快呢?
【问题讨论】:
-
嘿,非常抱歉,伙计们,我错误地将客户端脚本作为 value 而不是 value1。所以那个 mysql 查询带来了所有的 80K 记录,让它变得非常慢。现在它工作得非常快。谢谢所有帮助过我的人
标签: php jquery mysql autocomplete