2017-11-10 60 views
0

我在我的网站上有一个搜索功能,它需要搜索存储在MySQL中的〜2000个项目(这个表永远不会改变,它总是有相同数量的项目)。它所需要做的就是按名称或'LIKE'搜索名称并返回ID。我想到的两种方法是:更好地发送所有数据到客户端或查询服务器为每个搜索?

  1. 查询数据库中使用AJAX上的keyup(),这似乎是将它与很多人搜索
  2. 所有的数据时,它们发送到客户端为JSON文件昂贵加载页面并使用JavaScript进行搜索以减少数据库上的负载

哪种方法更好?或者如果你有更好的方法,我愿意接受建议。

+0

如果只有2000个项目,将其卸载到客户端可能会为您节省未来的可扩展性头痛。它还会减少搜索的滞后时间,因为不会有任何HTTP请求延迟。 –

+0

是“项目”一个词吗?还是一个大文件? –

+0

你的'LIKE'是否有领先的通配符? –

回答

0

取决于你的目的。您想在用户编写搜索词时提供搜索功能,或者希望在用户点击搜索按钮时返回搜索结果?无论哪种方式,你都在谈论2000条实际上并不多的记录。所以我认为您可以将所有这些信息存储到脱机内存缓存中,并且可以从内存中返回结果。 SQL对于查询也是非常优化的,它也缓存结果,所以对于2000条记录,对DB执行查询也不会有任何问题。

相关问题