关于外键的问题

[复制链接]
查看11 | 回复9 | 2006-9-6 01:01:55 | 显示全部楼层 |阅读模式
现在都流行数据库中不设外键,据说是数据量大,设计太多的DML后会影响性能,都做到应用中去了,
这就问了,在应用中设置外键关联,如何做?
效率就更高了吗?
回复

使用道具 举报

千问 | 2006-9-6 01:01:55 | 显示全部楼层
听听达人的说法。
回复

使用道具 举报

千问 | 2006-9-6 01:01:55 | 显示全部楼层
9i及以前的版本中,外键除了保证数据一致性之外,确实没有其它的用途,但在10gR2中,外键的功能已经扩大了,可以优化掉不必要的表关联。
http://xzh2000.itpub.net/post/96/221745
至于说应用如何保证数据的一致性,这个并不是如何设置的问题,比如某个代码被删除啦,但还有很多表引用这个代码,那就说明数据存在不一致的,只要保证代码不被删除,数据就是一致的,保证数据是一致的,一般要求有一致性要求的数据,放在一个事务中。。。
回复

使用道具 举报

千问 | 2006-9-6 01:01:55 | 显示全部楼层
受教~
回复

使用道具 举报

千问 | 2006-9-6 01:01:55 | 显示全部楼层
学习
回复

使用道具 举报

千问 | 2006-9-6 01:01:55 | 显示全部楼层
外键约束包含的优化信息对于查询重写等还是有一定作用的
回复

使用道具 举报

千问 | 2006-9-6 01:01:55 | 显示全部楼层
最初由 yangtingkun 发布
[B]外键约束包含的优化信息对于查询重写等还是有一定作用的 [/B]

那斑竹是支持外键放在数据库中还是应用中啊
回复

使用道具 举报

千问 | 2006-9-6 01:01:55 | 显示全部楼层
最初由 wdjk1999 发布
[B]
那斑竹是支持外键放在数据库中还是应用中啊 [/B]

对于数据仓库建议创建相关的约束, 外键, 这对mview的查询重写比较有好处..
而对于OLTP应用, 一般不建议使用, 还有就是OLTP应用很少会用到mview之类的东西..
回复

使用道具 举报

千问 | 2006-9-6 01:01:55 | 显示全部楼层
最初由 jametong 发布
[B]
对于数据仓库建议创建相关的约束, 外键, 这对mview的查询重写比较有好处..
而对于OLTP应用, 一般不建议使用, 还有就是OLTP应用很少会用到mview之类的东西.. [/B]

OLTP为什么不建议使用?
回复

使用道具 举报

千问 | 2006-9-6 01:01:55 | 显示全部楼层
我一般会用外键
在关联复杂的时候,用程序很难保证数据的一致性
但是,用外键的确会影响效率,甚至有时候你需要为一些外键列建立可能永远也不会用到的索引
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行