今天看了一个同事设计的数据表,有了一小个问题:表结构是这样的
A表(id,col1,col2)                           数据规模不大,上限基本不会超过1万
B表(id,a_id,col1,col2...)                数据规模也不大,10万以内,与A表关联
C表(id,a_id,b_id,col1,col2)           数据规模比B表大一点,不超过两倍,同时与A表和B表关联我的问题就是C表可以关联B表再关联A表完全实现查询,多关联A表ID作为冗余字段说是为了查询快一点,有这个必要吗,有什么好处坏处?

解决方案 »

  1.   


    字段冗余,大部分的目的就是为了减少关联,虽然现在的主流数据库都是关系型数据库,但是说实在的,关联会消耗大量的cpu,内存,所以如果可以预见到会有大量的数据,且会有关联,可以考虑把字段冗余
      

  2.   

    读的时候冗余的列可以一次I/O读入,如果是多个表,毕竟会读到其他的page,适当冗余可以得,毕竟现在盘还是便宜的