日期:2014-05-16  浏览次数:20813 次

数据库大表求拆解方案
假定大表一张,字段ID、A、B、...一直到Z
字段下面的值对于其余字段都是等价的,就是说在相同ID下面字段A到Z表达的意思是不同但是等价的。
此表目前不易扩展、不易查询。
求各位大神提供拆解方案。

------最佳解决方案--------------------
是1000W条数据吧,怎么出来了1000W个表了。
大数据量不怕,以国家id为分区字段分区就是了。

你只能在数据冗余和列冗余上选择一种,各有个的优点
你冗余到列上,好处就是查询一下就把所有国家代码的翻译都在一行显示了
              缺点就是,如果我增加一个国家,你就得增加一列
  冗余到数据上,刚好相反,你增加一个国家,我就针对每一个字符,增加一条数据就ok了

上千万的数据不算大数据兄弟,有的业务一天产生的数据就上千万条,一个月、一年、两年是多少。
况且词库这种东西,类似于数据仓库一样,怕什么。



引用:
引用:这东西,无非就是行转列,列转行查询的问题
你查询遇到的麻烦应该也是如此。
根据你的描述把国家代码作为数据保存就托了

国家代码 字符  翻译
0001      'A'   xxx
0002      'A'   yyy
0003      'A'   zzz

用 国家代码 和 字符 作为联合主键


……


------其他解决方案--------------------
相同ID下面字段A到Z表达的意思是不同但是等价的,啥意思?
------其他解决方案--------------------

比如说一个id叫变色龙的 在A列 可能就是red 在B列 可能就是yellow 就是这个意思。
这个怎么散分的?潜水几年,首次发帖啊
------其他解决方案--------------------
换种说法 就是多语言翻译软件的数据库如何设计,单纯的平行双语结构似乎非常不容易扩展啊
------其他解决方案--------------------
我也看看高人怎么拆
------其他解决方案--------------------
奇怪,字段a-z就很大么???
字段是可以精简,但有必要做大表也没办法,有的统计报表光统计项就80个,我都不敢说算大表。

表的设计目的是用的方便,有利于出各种查询汇总结果的基础上进行优化字段。

------其他解决方案--------------------
引用:
奇怪,字段a-z就很大么???
字段是可以精简,但有必要做大表也没办法,有的统计报表光统计项就80个,我都不敢说算大表。

表的设计目的是用的方便,有利于出各种查询汇总结果的基础上进行优化字段。

若是此表200列 1000万行呢?
等同于多语言翻译软件的数据库设计问题。求大神解答啊
------其他解决方案--------------------
引用:
比如说一个id叫变色龙的 在A列 可能就是red 在B列 可能就是yellow 就是这个意思。
这个怎么散分的?潜水几年,首次发帖啊


根据你的描述,拆分很简单啊
id      绿色  黄色 ....
变色龙1 是    否

你拆分成如下两张表,其余类似
id      颜色id
变色龙1   001

颜色id  颜色描述
001     绿色

------其他解决方案--------------------
引用:
引用:比如说一个id叫变色龙的 在A列 可能就是red 在B列 可能就是yellow 就是这个意思
根据你的描述,拆分很简单啊
id      绿色  黄色 ....
变色龙1 是    否
颜……
不好意思 我么有描述清楚。
我本来是想描述多语言翻译软件的数据库,然后拆分的。
比如 数据库大表 列当然是国家代码 然后各行对应着语料的各种翻译。
是想拆类似这种大数据表。
------其他解决方案--------------------
列是国家就建立洲是上级表,然后就分5个表了。
或者干脆按字母建26个表好了。。。。

先选择洲/字母,然后查询语句中带表名做参数就OK 。
具体情况具体分析。

------其他解决方案--------------------
这东西,无非就是行转列,列转行查询的问题
你查询遇到的麻烦应该也是如此。
根据你的描述把国家代码作为数据保存就托了

国家代码 字符  翻译
0001      'A'   xxx
0002      'A'   yyy
0003      'A'   zzz