Ticket #138 (new 优化)
产品库排行榜优化
| Reported by: | qinghonggang | Owned by: | |
|---|---|---|---|
| Priority: | major | Milestone: | 2012报价库5.0 |
| Component: | 产品库 | Version: | 产品库3.0 |
| Keywords: | 产品库排行榜优化 | Cc: | |
| Due Date: | 06/03/2013 |
Description (last modified by qinghonggang) (diff)
排行榜业务分析之数据读取过程:
第一步:按业务类型查询出产品ID。
排行榜业务分四种:
1、指定价格区间:查询出指定地区的价格区间内的产品ID取交集,然后查询相关的产品信息。
例:
SELECT * FROM PP_PRICE WHERE PRICE BETWEEN :beginPrice AND :endPrice AND AREA_ID=:areaId
2、指定品牌所在区域(国内、国外、欧美、日韩):查询指定品牌区域的产品信息取交集,然后查询相关的产品信息。
例:
SELECT p21.ID as PRODUCT_ID
FROM PDL_PRODUCT p21,PDL_PRODUCT_TYPE p22
WHERE p21.TYPE_ID=p22.ID and p22.TYPE=3 and p22.PARENT_ID =:smallTypeId and (p22.AREA=:area1 OR p22.AREA<>:area2)
INTERSECT
SELECT p21.ID as PRODUCT_ID
FROM PDL_PRODUCT p21,PDL_PRODUCT_TYPE p22
WHERE p21.TYPE_ID=p22.ID and p22.TYPE=3 and p22.PARENT_ID = :smallTypeId and (p22.AREA=:area1 OR p22.AREA<>:area2)
INTERSECT
......
3、指定产品属性;查询产品指定属性等于指定值的产品ID取交集,然后查询相关的产品信息。
例:
SELECT PPI.PRODUCT_ID
FROM PDL_PRODUCT_ITEM PPI
WHERE PPI.SMALL_TYPE_ID=:smallTypeId AND (PPI.KEY=:key AND ( UPPER(PPI.VALUE) like '%value%' OR UPPER(PPI.VALUE) like '%value%')
INTERSECT
SELECT PPI.PRODUCT_ID
FROM PDL_PRODUCT_ITEM PPI
WHERE PPI.SMALL_TYPE_ID=:smallTypeId AND (PPI.KEY=:key AND ( UPPER(PPI.VALUE) like '%value%' OR UPPER(PPI.VALUE) like '%value%')
INTERSECT
......
4、无以上三种限制;
第二步:用第一步查询出的产品ID去查询相关的产品信息。
查询产品信息需要关联查询的表:
产品信息表(pdl_product):提供产品主信息
产品类别表(pdl_product_type):提供品牌和小类信息
产品图片表(pdl_product_pic):提供指定类型的产品图片,参数有指定需要查询图片信息的时候才连图片表查询。
价格区间表(emp_price):提供产品最高最低价
产品系列表(pdl_product_varicance):提供产品系列相关信息
第三步:查询指定排序的产品信息与第二步查询出的结果整合成一个新的结果集
排序形式:
1、1_21345,3_232 指定位置固定
2、123,234 顺序固定
优化方案:
待续。。
![(please configure the [header_logo] section in trac.ini)](http://www1.pconline.com.cn/hr/2009/global/images/logo.gif)