给数据库增加太多的约束,对数据库的性能影响大不大?

[复制链接]
查看11 | 回复4 | 2006-4-6 10:25:49 | 显示全部楼层 |阅读模式
我想给数据库加上个很多的约束(constraint),例如:主键、唯一性限制、外键约束、检查约束等等,对性能的影响大不大?其实有些约束可以在应用程序上加以实现,如外键约束,我的应用程序可以保证子表的外键在父表的主键中肯定是存在的,有没有必要加上外键约束?
回复

使用道具 举报

千问 | 2006-4-6 10:25:49 | 显示全部楼层
最好还是使用数据库来实现,用数据库完整性约束更能保证一致性.
回复

使用道具 举报

千问 | 2006-4-6 10:25:49 | 显示全部楼层
同样的完整性实现,如果数据库约束就能够实现,那么对于整个application来说,效率是更高的。我认为实现完整性的优先考虑顺序就是:约束、触发器、应用程序。
回复

使用道具 举报

千问 | 2006-4-6 10:25:49 | 显示全部楼层
哦,对了,切记要给外键字段创建索引!否则在主表被修改时,外键字段所在的表很可能被完全封锁。
回复

使用道具 举报

千问 | 2006-4-6 10:25:49 | 显示全部楼层
最初由 electricfish 发布
[B]最好还是使用数据库来实现,用数据库完整性约束更能保证一致性. [/B]

支持,现在好多人嫌约束麻烦,就在客户端或应用服务端增加很多代码来保证数据一致性,真是得不偿失!
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行