ORACLE明细表建主建约束是否适合

ORACLE明细表建主建约束是否适合(每日数据有300到500万,每日只有一个文件,可能数据会延期到,也就一次性到8个10个文件,数据量就是300万*10):1、表已建表分区;
2、表已有索引
问题:明细表是否适合建主建约束;
个人理解:主键约束每一条数据入库后均会检查是否出现重复记录,如果有则会返回异常,如果无则正常入库,所以这样会大大降低数据入库的效率,而检查数据质量,可以在数据入库完成后,使用存过做数据分析之前,做这些检查(也就是多一条SQL语句,踢除重复数据),请问这样理解是否可行;
或者各大神给一个更好的建议方案,谢谢!
参与5

4 同行回答

zhujink zhujink 商业智能工程师 未知
回复 4# sjj51812580 你说的木有错,主键只是约束的一种,唯一索引是主键的支撑方式。不过,非唯一索引也能支撑主键哦!这个涉及到你创建的约束是不是deferrable类型的约束。详情请参考俺在itpub上的帖子:http://www.itpub.net/forum.php?mod=viewthread&tid=1737561&page=2...显示全部
回复 4# sjj51812580

你说的木有错,主键只是约束的一种,唯一索引是主键的支撑方式。不过,非唯一索引也能支撑主键哦!这个涉及到你创建的约束是不是deferrable类型的约束。详情请参考俺在itpub上的帖子:
http://www.itpub.net/forum.php?mod=viewthread&tid=1737561&page=2 收起
银行 · 2015-04-01
浏览785
sjj51812580 sjj51812580 数据库开发工程师 广州品高
回复 2# zhujink 提高查询速度的是,主键对应的那个唯一索引好不,而非主健,你这个回答不满意显示全部
回复 2# zhujink


提高查询速度的是,主键对应的那个唯一索引好不,而非主健,你这个回答不满意 收起
软件开发 · 2015-03-28
浏览732
zhujink zhujink 商业智能工程师 未知
个人认为,建立主键的主要目的是提高查询速度,当然,也有防止键值重复的功能。若你的目的只是去重,那大可不必建立主键。表加载完了之后,查询出重复记录的ROWID,直接按ROWID删除记录就OK了。...显示全部
个人认为,建立主键的主要目的是提高查询速度,当然,也有防止键值重复的功能。若你的目的只是去重,那大可不必建立主键。表加载完了之后,查询出重复记录的ROWID,直接按ROWID删除记录就OK了。 收起
银行 · 2015-03-27
浏览732
zhujink zhujink 商业智能工程师 未知
总之,若你的表在OLTP环境下用,那最好建主键(或建唯一索引),若表在OLAP环境下使用,分区就OK了,别建主键了。显示全部
总之,若你的表在OLTP环境下用,那最好建主键(或建唯一索引),若表在OLAP环境下使用,分区就OK了,别建主键了。 收起
银行 · 2015-03-27
浏览745

提问者

sjj51812580
数据库开发工程师 广州品高
评论7

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2015-03-27
  • 关注会员:1 人
  • 问题浏览:3530
  • 最近回答:2015-04-01
  • X社区推广