已经有如下表:
1.品牌表结构
品牌id  品牌名称
bid     bname
1       奔驰
2       宝马2.系列表结构(一个品牌对应多个系列)
品牌id  系列id  系列名称
bid     sid    sname
1       1      S级
1       2      E级
2       3      3系3.型号表结构(一个系列对应多个型号)
系列id  型号id  型号名称
sid    tid     tname
1      1       S600
1      2       S350
2      3       E3004.型号类型表结构(一个型号对应多个类型)
型号id   类型id
tid     cid
1       1
1       25.类型表结构 
类型id  类型名称
cid     cname
1       普通型
2       加长型
3       限量版
我需要以下几种查询:(这种情况,如何建表如何加索引?)
1.某品牌有多少个系列,多少个型号,多少种类型
2.某系列有多少个型号,多少种类型
3.某型号有多少种类型

解决方案 »

  1.   

    带id的都加上索引 品牌id和类型id是自增主键
      

  2.   

    要根据具体的SQL语句来建立索引
    1.品牌表结构 BID上建立索引
    2.系列表结构(一个品牌对应多个系列) BID、SID上建立复合索引
    3.型号表结构(一个系列对应多个型号) SID、TID上建立复合索引
    4.型号类型表结构(一个型号对应多个类型)TID、CID上建立复合索引
    5.类型表结构 CID上建立索引
      

  3.   

    如果用
    我用myisam引擎,我这些表的结构用不用改?
    针对以下查询?
    我需要以下几种查询:(这种情况,如何建表如何加索引?)
    1.某品牌有多少个系列,多少个型号,多少种类型
    2.某系列有多少个型号,多少种类型
    3.某型号有多少种类型
      

  4.   

    比如:http://www.xgo.com.cn/brand/toyota/  
    这个链接中丰田58车系 265款车型
    这两部分是不是就得两次查询得到结果?
      

  5.   


    建议针对查询需求写出SQL语句,然后根据SQL中的WHERE和JOIN中的条件进行索引的添加。
      

  6.   


    1.是加主键自增索引吗?
    2.sid单独加主键自增索引吗?
    3.tid单独加主键自增索引吗?
    5.cid是加主键自增索引吗?
      

  7.   

    已经说过,根据具体的SQL语句来建立索引 
    没有一劳永逸的方法,2楼的索引只是建议,一般是在连接字段(条件字段)上建立索引,
    如果是多个条件,建立复合索引