Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript数组搜索引擎_Javascript_Mysql_Search Engine - Fatal编程技术网

Javascript数组搜索引擎

Javascript数组搜索引擎,javascript,mysql,search-engine,Javascript,Mysql,Search Engine,我有一个mysql DB表,大约有10.000行和20个字段。我有一个包含所有字段的表单,当我在任何字段中按下一个键时,它应该将10.000行筛选为仅与我键入的内容匹配的行。我不想为我键入的每个键向服务器发出AJAX请求,我想我可以首先获取所有数据,并从中生成一个数组,然后以这种方式进行搜索。 我的问题是:这是一种很好的方法,还是我应该坚持使用数据库上的好的SQL查询,而不使用ajax请求?你有更好的建议吗?只需在按键和实际加载数据之间加上半秒的停顿,就可以使增量搜索更加高效。用户可能不会注意到

我有一个mysql DB表,大约有10.000行和20个字段。我有一个包含所有字段的表单,当我在任何字段中按下一个键时,它应该将10.000行筛选为仅与我键入的内容匹配的行。我不想为我键入的每个键向服务器发出AJAX请求,我想我可以首先获取所有数据,并从中生成一个数组,然后以这种方式进行搜索。
我的问题是:这是一种很好的方法,还是我应该坚持使用数据库上的好的SQL查询,而不使用ajax请求?你有更好的建议吗?

只需在按键和实际加载数据之间加上半秒的停顿,就可以使增量搜索更加高效。用户可能不会注意到,但服务器会注意到


当然,如果您也可以添加JavaScript辅助过滤,那就更好了。没有理由不能将这两种方法结合起来。

同样,如果用户在暂停后按了new键,则可以中止ajax请求。我本打算提到这一点,但是JS协助的想法让我分心了,我已经想到了在新的ajax请求启动时中止旧的ajax请求。但是如果请求开始了。。。这意味着对数据库的查询可能已经发送了,对吗?所以它仍然加载服务器。或者我错了?有了半秒的延迟,您可以在发送AJAX请求之前取消延迟。