请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师,取到的shoplist页面的店铺展示在店铺同一优先级下,前端显示是不是顺序可能会不一样?是HashMap导致的么?

正在回答

1回答

同学好,你说的是店铺优先级相同的情况下,可能会出现不一样的排序结果吗。如果是这个意思,并不是HashMap导致,而是咱们sql order by priority desc的时候,如果priority相同,就会按照每次数据库不同的策略去找到店铺,所以顺序可能会不一样。

若强迫症要解决这个疑惑:

  1. 从业务上解决,即确保priority是不一样的,因为实际执行过程中我们在管理员后台审批之后会赋予他们优先级,这样方便做竞价排名

  2. 从技术上解决,可以在 order by priority desc 之后 加上 order by priority desc, shopId asc :) 这样就能保证次序一致了:)

0 回复 有任何疑惑可以回复我~
  • 提问者 yikemi #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2018-03-12 15:32:40
  • 提问者 yikemi #2
    老师您说的“每次数据库不同的策略”这个策略的概念具体指的是?它有哪些?
    回复 有任何疑惑可以回复我~ 2018-03-13 22:25:49
  • 翔仔 回复 提问者 yikemi #3
    虽然现在没办法细究它是如何排序的,但是我们已知的算法如下
    选择排序复杂度为n*n,不稳定排序,
    
    快速排序复杂度为n*n,不稳定排序,
    
    希尔排序复杂度为nlogn,不稳定排序,
    堆排序复杂度为nlogn,不稳定排序。
    复杂度均为O,万变不离其宗,其使用的排序如果出现同值但是排序出来的结果不同的情况,应该也是用了其中的原理,同学感兴趣可以去研究一下,然后把研究的结论在这里同步一下我们一起学习
    回复 有任何疑惑可以回复我~ 2018-03-13 22:43:16
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号