id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	due_date
138	产品库排行榜优化	qinghonggang		"
== 排行榜数据读取过程： ==

第一步：按业务类型查询出产品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		顺序固定
== 优化方案： ==
待续。。"	优化	new	major	2012报价库5.0	产品库	产品库3.0		产品库排行榜优化		06/03/2013
