设计的数据库内有很多字段仅仅只做显示用,致使一张表内有很多字段,现在想把这些字段用键值对的形式存储并合并到一个字段内储存,现在想知道这样做是否有必要和这样做的利弊?
一个表多个字段并不可怕。关键是取列表时会不会用到这些字段。如果用到,则不用修改。
个人认为不需要修改,合并字段后,如果是字符串,字段长度无法控制,而且解析也有成本。如;2;3;4;5;这种形式。
另外还有一种思路是存成xml格式,最大2GB,
形如
<IMs>
<IM Name="QQ" Code="11111111"/>
<IM Name="MSN" Code="gates@live.com"/>
</IMs>
如果合并字段读取插入时都需要进行序列反序列操作,如果分隔符有冲突就会出现错误。个人推荐使用子父表的方式解决。
建议不要合并,如果以后一旦有更新的需求,合并后就不好处理。折中的方案可以使用XML格式,但是解析和更新xml同样需要一些额外的性能