Heim > Backend-Entwicklung > PHP-Tutorial > php关于商品多条件排序的有关问题,

php关于商品多条件排序的有关问题,

WBOY
Freigeben: 2016-06-13 12:55:28
Original
861 Leute haben es durchsucht

php关于商品多条件排序的问题,。
一个关于商品排序,由于是做b2b的一个平台,所以会使用到这么一个功能。
主要的一种方式是这样的:
商品排列的权重分析
1、推荐橱窗剩余时间(字段window_recom):占40%的权重
2、店铺好评率(字段praise_rate):占30%的权重
3、商品上架时间(字段add_time):占30%的权重

---------------------
排序规则
1、任一商品,程序会提取其“推荐橱窗”剩余时间、“店铺好评率”、“商品上架时间”,并按照其权重运算出最后的分值;
2、分值越高,排名越靠前;
-------------------------------------------
我现在的写法是 ORDER BY window_recom*0.4+praise_rate*0.3+add_time*0.3 DESC 对所有的商品进行排序,但是这个随着商品数量的增加,速度越来越慢了。
请问各位大神有没有更好的解决方法。 


------解决方案--------------------
按照一个不存在的字段排序,商品多了,不慢才怪。

1 设置固定的字段,来存储计算过的值,实时更新,以后按照这个字段排序
2 如果每次取出的量不是很多的时候, 先按这条件ORDER BY window_recom DESC, praise_rate DESC, add_time DESC 取出记录,然后再根据你的算法排序,然后再生成缓存。

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage