Ticket #138 (new 优化)

Opened 13 years ago

Last modified 13 years ago

产品库排行榜优化

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 顺序固定

优化方案:

待续。。

Change History

comment:1 Changed 13 years ago by qinghonggang

  • Description modified (diff)

comment:2 Changed 13 years ago by chenchongqi

产品图片表(pdl_product_pic):提供指定类型的产品图片,参数有指定需要查询图片信息的时候才连图片表查询。


图片表本身数量很大,而没图片的产品数量应该是相对很少的,在查询里挂这样的条件非常不合算,这里的业务逻辑可以考虑去掉,发现有没图片的产品让编辑去补录。

comment:3 Changed 13 years ago by chenchongqi

1、指定价格区间:查询出指定地区的价格区间内的产品ID取交集,然后查询相关的产品信息。


排行榜里的价格,真正地区敏感的情况有多少,这里也可以考虑简化成直接用主表里的全国价格。

Note: See TracTickets for help on using tickets.