javascript - 使用 PHP DB 填充 JQuery 自动完成的最佳实践

标签 javascript php jquery autocomplete

对于我的网站,我有一个美国城市列表(大约 30,000 个),我使用它来自动填充自由格式字段,以便用户可以开始输入他们的城市,然后从列表中进行选择。

我的问题是,将数据放入自动完成列表的最佳方法是什么?

  1. 通过 PHP 从数据库读取所有数据,并将其放入大型 Javascript 数组中。
  2. 每次用户更新城市字段时都会调用数据库,并搜索与他们输入的内容相匹配的城市。

我问这个问题是因为我想知道哪个最有利于性能。如果 100 多人同时访问该网站,#2 似乎会产生大量数据库调用和开销。

#1 可能不太好,因为数组中的 30,000 个元素看起来很多。

我目前正在使用方法#1,看起来不错,但是当您查看源代码时它看起来确实有点草率,并且它显示了 30,000 行数组。

如有任何建议/意见,我们将不胜感激。

最佳答案

这两种解决方案对于性能来说似乎都很昂贵。第一个可能会导致计算机速度较慢出现问题,而第二个则对服务器资源造成昂贵的影响。

我建议您使用全文搜索引擎,例如 Sphinx因为它支持复杂的搜索查询,并且由于缓存而比数据库快得多。

关于javascript - 使用 PHP DB 填充 JQuery 自动完成的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42772268/

相关文章:

javascript - d3 获取当前鼠标指针下的元素或对象?

javascript - 如何为网络上的多个页面维护 Firebase Auth?

PHP MySQL 双内连接

php - codeigniter - 删除特定的表行而不在数据库中删除它

javascript - 构建一个 "single page"站点,页面之间有动画

javascript - 如果在 div 中找到值,则按类名更新最接近跨度的值

javascript - Nativescript 连接文本使用 Label

javascript - 构建 backbone.js 应用程序

php - 使用 MySQL 查询选择不同的选择选项时显示不同的潜水

javascript - 范围 slider - 滑动期间运行功能不起作用?