【问题标题】:Database Search - Single AJAX Query + Javascript Filter数据库搜索 - 单个 AJAX 查询 + Javascript 过滤器
【发布时间】:2013-03-11 09:16:28
【问题描述】:

我一直在寻找在我的网络应用程序上实现即时文本搜索的不同方法;目前它使用带有通配符的非常基本的 SQL LIKE 查询。

我已经研究了许多实现搜索的方法,但从未见过有人建议执行以下操作:

  1. 当用户键入时,当查询达到 4 或 5 个字符时,执行数据库搜索。

  2. 向用户显示结果,当他们继续输入时,只需使用 Javascript 过滤结果,因此不需要更多的数据库调用。

这样每次搜索只会调用一次数据库,如果用户输入错误,他们可以退格,而 Javascript 会负责显示正确的结果。

这种方法有什么缺点吗?

【问题讨论】:

  • 你可以使用jquery自动完成!
  • 对于许多您可能想要这样做的系统,4~5 个字符仍然会导致大量可能的行。但是在某些系统上它可能很有用。就个人而言,我在输入每个字符时进行了搜索,但在搜索之前使用了一个计时器,因此 AJAX 调用仅在用户停止输入时才会发生(半秒就足够了)。

标签: php javascript mysql ajax


【解决方案1】:

这在理论上似乎可行,但我个人更喜欢在搜索之前按 Enter 或等待 500 毫秒不活动。

可能会导致额外的数据库查询的一件事是,如果用户以您的给定间隔(在您的情况下为 4 个字符)退格。

但我认为真正的缺点是额外的 JS 编码 + 仍然需要 PHP 编码。

【讨论】:

  • 是的,我将尝试 500 毫秒和 Javascript 过滤器方法,看看我更喜欢哪个。谢谢你的回答:)
  • 非常欢迎您,我知道如果我需要针对最后一点性能进行优化,我今天从您那里学到了一些东西。尽管某些缓存似乎生效了,但 Google 似乎并没有这样做。
猜你喜欢
  • 1970-01-01
  • 2013-01-03
  • 1970-01-01
  • 1970-01-01
  • 2019-04-17
  • 1970-01-01
  • 2012-12-21
  • 2022-01-06
  • 2020-05-30
相关资源
最近更新 更多