日期:2014-05-17  浏览次数:20648 次

关于表结构的问题
将项目表中,所有clob类型的数据统一存在专门存clob数据的表中,clob表数据结构为(引用的表名、列名、数据行ID,clob)
查询表的时候,先去clob表中查询当前表是否存在clob数据。

将多对多的关系也统一存一张表中,数据结构为(A表名,A表ID,B表名,B表ID)

这样的结构可行吗?
项目中clob数据比较大,上百万条,而且对clob的查询也很多,这样的数据结构是否可行?

多对多表关系也很多,数据也达到了上千万条,以牺牲建很多表的方式,这样写是否妥当?

备注:这是一个真实项目中用到的数据结构。发帖只是想了解这设计,其中有什么优势,真正在项目中查询起来,效率很吃力。
 

------解决方案--------------------
本人以为,将clob数据统一存到一张表里是可行的,建索引和主键约束的时候,按 (数据行id,列名,表名)这个顺序来建
但多对多的表关系存一张表里,是不是没有太大必要?有那么多的表吗,如果有的话,再建这么多的表也不是问题吧
我觉得设计有点问题...
------解决方案--------------------
我觉得这是一个牺牲效率节约硬盘的做法。
如果硬盘大,多些数据冗余也行啊,效率上去了
------解决方案--------------------
探讨
将项目表中,所有clob类型的数据统一存在专门存clob数据的表中,clob表数据结构为(引用的表名、列名、数据行ID,clob)

------解决方案--------------------
探讨


很多时候,查询数据并不需要显示clob列,放一张表的话,查询效率就低了。