假设您有数百万项(比如搜索结果),并且您有不同的参数来排序这些项目(例如在电子商务网站中)。我们将使用分页显示项目。
让我们说它可以按日期,受欢迎程度和相关性进行排序,结果是分页的。你会如何实现这个功能?通常我会为参数创建不同的比较函数并相应地得到结果。
如果有其他有效的方式来获得这种功能而不是每次都对搜索结果进行排序?另外,我们通常每次使用相关的订单参数运行sql查询,还是应该对先前查询的搜索结果进行排序以避免重新搜索时间?
答案 0 :(得分:1)
“如果有其他有效的方式来获得这种功能,而不是每次都对搜索结果进行排序?”
我会说你不需要每次排序,而是使用适当的SQL
参数执行OrderBy
查询,对其进行分页并向用户显示
“另外,我们通常每次使用相关的订单参数运行sql查询,还是应该对先前查询的搜索结果进行排序以避免重新搜索时间?”
当然,您需要生成一个新的SQL
查询,因为基于新订单参数的第一页数据可以包含来自前一个数据的完全不同的数据集。