使用JavaScript/Ajax优化搜索结果

使用JavaScript/Ajax优化搜索结果,javascript,jquery,mysql,ajax,Javascript,Jquery,Mysql,Ajax,我正在寻找,如果我可以优化我的网页上的搜索 我现在正在做的是 我提供了一个搜索框,用户可以在这里搜索keyup上的帐号 我在MySql数据库表中有80K-90K数据用于搜索 表被索引并使用主键 在页面加载时,我使用HTML格式将和帐户相关的所有数据从数据库加载到页面,这样用户就可以在HTML页面上搜索帐户 通过上述方法,页面加载变慢 所以我尝试了另外一种选择,即直接通过Ajax键控调用来搜索数据库表,而不是在页面加载时加载所有数据 但仍然在每个键盘上搜索数千或数百万个数据,并不是搜索的有效解决方

我正在寻找,如果我可以优化我的网页上的搜索

我现在正在做的是

我提供了一个搜索框,用户可以在这里搜索keyup上的帐号

我在MySql数据库表中有80K-90K数据用于搜索 表被索引并使用主键

在页面加载时,我使用HTML格式将和帐户相关的所有数据从数据库加载到页面,这样用户就可以在HTML页面上搜索帐户

通过上述方法,页面加载变慢

所以我尝试了另外一种选择,即直接通过Ajax键控调用来搜索数据库表,而不是在页面加载时加载所有数据

但仍然在每个键盘上搜索数千或数百万个数据,并不是搜索的有效解决方案,而且需要花费大量时间

我很好奇如何提高搜索结果的质量和速度


如果有,是否有任何客户端站点可能的搜索优化解决方案

您可以做一些事情来提高流程的效率

使用jQuery的

在包含此特定数据的数据库表上创建索引。这将有助于特别是如果你有数百万的记录

设置用户输入的最小字符限制,比如说3,这样它会自动缩小要搜索的数据范围


除了3之外,您还可以添加一个超时功能,该功能只会在X ms后开始搜索,无需按键。谢谢avnishkgaur,但我已经应用了所有建议的解决方案。优化有两种方式。1-减少工作。2-在更多机器上分配工作。在你的情况下,如果没有任何可用的数据,就不可能告诉你该怎么做。人们通常使用LIKE进行搜索和自动完成,并在其上使用默认的MySQL配置,这自然会非常缓慢。@N.B.等等-做同样数量的工作效率会更高吗?@草莓-做更少的工作意味着这一点,不是吗?:在不知道系统中实际运行缓慢的情况下很难提供帮助。是查询本身吗?这是与查询相关的数据传输吗?@N.B.和Mike:我不能将数据作为其客户的私有数据与live site共享。我在客户端站点上使用Javascript/Ajax寻找代码级解决方案,忽略了从现在开始的机器依赖性查询响应,MySql服务器。