blob字段设计

qgj1655 2011-12-15 11:47:20
根据项目的需求,数据库将会存储一些多媒体(较大)信息。
当在设计表的时候有个疑惑 比如:
方案一: table1: id name media
方案二: table1: id name mid 和table2:mid media

问题1:对方案一、二 执行 select id,name from table1 时 两个方案性能有什么差异?
问题2: 对方案一、二 分别执行 select id,name,media from table1、select id,name,media from tabel1 join table2 on tabel1.mid=table2.mid 时两个方案性能又会有什么差异?
问题3:这两个方案各自优缺点是什么?

PS:可以考虑如果在oracle单机、集群或oracle与sql server不平台 之类的进行扩展。 其中table1中的id,name查询频繁列


希望各位大虾给于解答

...全文
61 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
iqlife 2011-12-15
  • 打赏
  • 举报
回复
这个是老话题了,
从业务设计的角度来看,拆分开,不符合第三范式,但是容易扩展,造成业务复杂度变高

从数据库存储的角度
但是如果MEDIA很多重复的话,拆分开,会减少存储的数据量,同时索引的存储量也会增加,当然同时会增加查询时候的表连接的开销

qgj1655 2011-12-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 java3344520 的回复:]
这个是老话题了,
从业务设计的角度来看,拆分开,不符合第三范式,但是容易扩展,造成业务复杂度变高

从数据库存储的角度
但是如果MEDIA很多重复的话,拆分开,会减少存储的数据量,同时索引的存储量也会增加,当然同时会增加查询时候的表连接的开销
[/Quote]
按您的意思是,如果采用方案一,理论中性能会更优,而采用方案二,易于扩展,是这个意思吗?
rfb0204421 2011-12-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 java3344520 的回复:]
这个是老话题了,
从业务设计的角度来看,拆分开,不符合第三范式,但是容易扩展,造成业务复杂度变高

从数据库存储的角度
但是如果MEDIA很多重复的话,拆分开,会减少存储的数据量,同时索引的存储量也会增加,当然同时会增加查询时候的表连接的开销
[/Quote]
++

3,490

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧