假设我有一个产品网格。在这个网格中有一个名为“Scarf XY”的产品。 现在,用户想要搜索具有相似名称的所有项目,因此她在实时搜索框中输入单词“Scarf X”,并且将执行异步请求以从数据库检索与该单词匹配的所有行。 我想阻止新查询再次返回“Scarf XY”行。
有没有一种方法可以“跟踪”已经返回的行,甚至可以从不同的查询中返回?
(对不起我的英语)
忘记提及:从数据库返回的每个项目都保存在本地数组中,这就是为什么每个新查询都可能导致重复条目。
最佳答案
有一种方法可以使用 MySQL 子查询来完成此操作,但如果这是针对站点的,则效率会很低。例如,用户可以输入搜索词然后将其删除。您描述的这样的系统将导致搜索“Scarf XY”的八个 SQL 查询,这会给您的数据库服务器带来不必要的负载。
一种更现代、资源效率更高的方法是向浏览器提供 JSON 数组并使用类似 Typeahead.js 的内容。来自 Twitter 在客户端搜索栏中显示信息。
关于mysql - 防止使用不同的查询重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23983743/