2014-01-11 48 views
2

我正在为类似于Google即时搜索的输入框创建自动完成功能。php + mysql - 性能 - 即时自动完成响应

我需要为自动填充功能提供即时响应。我正在执行该查询的表中包含数十万条记录,而且还有数百列。例如:500,000条记录,120列。

所以,我有两个问题:

  1. 执行查询最可能的速度。
  2. 在搜索框的自动完成下拉菜单中显示结果的快速响应。

顺便说一句,我使用的Joomla框架,可能会导致一些放缓。

回答

2
  1. 在一些必要的sql字段上创建索引。
  2. 根据按下的按键数量(以及如果需要,按2键之间的时间)使用延迟。
  3. 添加您自己的缓存逻辑。
  4. 限制查询
+0

此外,请确保您将查询的结果限制为10个或20个结果。 –

1

自动完成可以当用户输入是长在-至少3个字符被触发。

1

如果有可能考虑使用的NoSQL数据库MongoDB的一样或卡桑德拉此表,因为他们是为那种数据的取得,尤其是如果该数据将增长的结果。要将数据从服务器传输到客户端,请使用json。