有A....Z 26个类.
有N多产品.
每个产品可能属于多个类.
每个类下有无数产品.
请大虾门来指点下,如何设计这两张表.在搜索的时候效率最高.
要满足两点高效
1.根据类搜产品,搜出来不重复的产品.
2.显示产品的时候,能显示该产品的所有分类.

解决方案 »

  1.   

    每个产品可能属于多个类. 
    每个类下有无数产品. 
    怎么感觉是同样的下面设想貌似太简单了,未考虑太多
    表A 产品ID  产品名称  PK:产品ID
    表B 产品ID  类别      PK:产品ID,类别
    --1.根据类搜产品,搜出来不重复的产品. 
    SELECT DISTINCT A.产品ID,A.产品名称 INNER JOIN B  ON A.产品ID=B.产品IDWHERE B.类别='A'--2.显示产品的时候,能显示该产品的所有分类.
    SELECT 类别 FROM B WHERE B.产品ID='****'
      

  2.   

    我最怕的就是当产品数量足够多.distinct严重影响效率....
      

  3.   

    用不上distinct,第一个的distinct可以去掉的
    B表的PK是 :产品ID+类别