有100万条产品数据,假设要分成10个大类,100个小类这样,现在我设想如下:
方案1.产品数据全在一张表内,然后设一字段,记录其类别,比如(水果,进口)这样,当要搜索时就分析这个字段来归类,(好像很多无限分类都用这种)
方案2.一张大表,100张小表,大表作用主要记录某产品在那个小表内,然后我想的是
1,当搜索某一具体产品时,比如“香焦”,第一种方案只一次SQL,遍历100万条的数据,第二种方案两次SQL,而且先大表的时候也是100万条的数据(字段比较少而已),然后再去读小表时又要遍历若干的数据,所以我认为搜索某一产品时第一种效率更高。
2,当要显示某一小类的所有数据或者是有明确按类搜索时,那么第二种方[案只要直接读小表就可以了,而用第一种方案又要遍历100万条。不知道以上说的对不对,有没有更好的设计方案可以两者兼顾的?
方案1.产品数据全在一张表内,然后设一字段,记录其类别,比如(水果,进口)这样,当要搜索时就分析这个字段来归类,(好像很多无限分类都用这种)
方案2.一张大表,100张小表,大表作用主要记录某产品在那个小表内,然后我想的是
1,当搜索某一具体产品时,比如“香焦”,第一种方案只一次SQL,遍历100万条的数据,第二种方案两次SQL,而且先大表的时候也是100万条的数据(字段比较少而已),然后再去读小表时又要遍历若干的数据,所以我认为搜索某一产品时第一种效率更高。
2,当要显示某一小类的所有数据或者是有明确按类搜索时,那么第二种方[案只要直接读小表就可以了,而用第一种方案又要遍历100万条。不知道以上说的对不对,有没有更好的设计方案可以两者兼顾的?
如果类别多个字段,采用二方案,原因是减少冗余
产品信息表(数据量大)
类别信息表(数据量小)
产品和类别关联信息表(1种类别对应多个产品)