我想知道对于在每个 keyup() 上搜索表的字段,您认为什么是更好的解决方案。
- AJAX查询搜索数据库表,返回结果
- AJAX 查询以搜索数据库表,然后将结果存储在会话中,在后续请求中搜索会话
- AJAX查询搜索数据库表,然后将结果存储在JS对象/数组中,在后续请求中搜索对象/数组
我应该注意,该表可以轻松达到 1000 行,但不会增长到超过几千行。什么是有效的、性能驱动的方法来解决这个问题?
这会是一个好的解决方案吗?
我想知道对于在每个 keyup() 上搜索表的字段,您认为什么是更好的解决方案。
我应该注意,该表可以轻松达到 1000 行,但不会增长到超过几千行。什么是有效的、性能驱动的方法来解决这个问题?
这会是一个好的解决方案吗?
我认为您最好的选择(根据您的评论做出一些假设)是将结果缓存在服务器上(不是会话,缓存),然后考虑该缓存对象的生命周期。如果您大量使用客户端,并且客户端是浏览器,则可以将其发送给客户端以供之后使用。考虑到 1000 X 100 将是 100,000 - 不是很大,但仍然不是试用版。
如果它是一个不太理想的客户端,例如移动设备,您可能会考虑更适合该设备集的东西。
然而,这都是相当主观的。
编辑:您应该能够构建这样的结构,以便您的缓存将被多个客户端使用(如果它们都是相同的数据集),而会话将是每个用户。
延迟查询请求,直到您至少有 3 个字符。结果数字非常低,但如果你想优化你的网页,你必须考虑有多少用户会向服务器、移动设备或桌面发起请求?您需要处理器和内存来处理对象。