none
是一个宽表好还是一堆窄表好 RRS feed

  • 问题

  • 前提是:宽表是由窄表上下叠加而成的,符合范式要求。宽表利用索引来区分是哪个窄表的数据。

    宽表为了更好的满足各种窄表。采用了包容策略即定义了4个int,4个varchar,2个Text,2个bigint

    等内容。

    哪个好为什么。

     如何证明。我不止需要一个结论。还需要个证明方法。谢谢各位了。

    2010年3月29日 11:24

答案

  • If I understand you correctly, you like to get a table with 4 set of columns to store 4 set of data and each set of data uses a set of columns. That means table has lot of data and many null value in each column, don't think it's efficiency design. Use 4 tales if don't do many joins. 
    2010年3月30日 2:54
  • 如果没有理解错的话,我想问这样的宽表怎么满足范式?什么样的范式?

    这个宽表中会存储大量的null值,会浪费大量的空间,这个同范式的思想完全背道而驰。

    我到建议,把所有窄表的共同列抽取出来,形成一个通表,这个表可以建索引,然后把窄表的其余部分另建分窄表,每次需要一条完整记录时通过连接通表和分窄表得到完整的记录。

    2010年3月30日 4:02

全部回复

  • Depends on how you query them.
    2010年3月29日 12:56
  • Depends on how you query them.

    能否详细说明各自的优缺点
    2010年3月30日 0:43
  • If I understand you correctly, you like to get a table with 4 set of columns to store 4 set of data and each set of data uses a set of columns. That means table has lot of data and many null value in each column, don't think it's efficiency design. Use 4 tales if don't do many joins. 
    2010年3月30日 2:54
  • If I understand you correctly, you like to get a table with 4 set of columns to store 4 set of data and each set of data uses a set of columns. That means table has lot of data and many null value in each column, don't think it's efficiency design. Use 4 tales if don't do many joins. 
    2010年3月30日 2:54
  • 如果没有理解错的话,我想问这样的宽表怎么满足范式?什么样的范式?

    这个宽表中会存储大量的null值,会浪费大量的空间,这个同范式的思想完全背道而驰。

    我到建议,把所有窄表的共同列抽取出来,形成一个通表,这个表可以建索引,然后把窄表的其余部分另建分窄表,每次需要一条完整记录时通过连接通表和分窄表得到完整的记录。

    2010年3月30日 4:02