我有一个包含20,000条记录的数据库。每个记录都有一个名字。当用户想要查看记录时,他可以访问Web应用程序并在输入字段中输入记录的名称。在输入时,数据库中的结果将显示/过滤匹配用户输入的内容。我想知道如何我使用下列语言堆栈这个改善“搜索”输入字段的结果?
编程的基本架构/概念: 前端:HTML5/JavaScript的(+ AJAX而用户输入进行即时通话) 后端:JAVA + JDBC连接到简单的SQL数据库
我的初步设想是:
- 用户类型的文本
- 每当进入或inputfield删除一个角色,让一个Ajax请求到后端
- 后端确实在名称字段LIKE%输入%的查询数据库中的
- 通过查询发现,所有的数据都发送一个JSON字符串到前端
- 的前端处理JSON字符串,并显示任何结果时,发现
我的两个问题是:处理的ajax请求数量很高,可能会造成很大的LIKE查询。有什么方法可以优化这个?只搜索他们输入/删除的每两个字符?只查询前十个结果?
你知道利用这些优化的网站吗?
注意:假设记录是个人和名称就像真实的人名,所以有些名称比其他人更常见。