主题:  查询速度

浮尘

职务:普通成员
等级:3
金币:7.0
发贴:1258
#12004/9/14 9:31:35
在 SQL Server 中,为表建立内外键关系,会影响查询速度么?我们这儿一个搞数据库的家伙说影响。我想了半天,也没想通。我觉得只会影响插入、更新速度,怎么会影响查询速度呢?想听听大家的见解。



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#22004/9/14 10:18:11
应该不会吧,从来还没听说过外键会影响查询速度。这要专门测试了。外键对维持数据库的良好关系及数据完整性很有必要,是数据库设计重要环节,没必要听这没根据的话,即使有的话,也是微小的。


非常大鱼

浮尘

职务:普通成员
等级:3
金币:7.0
发贴:1258
#32004/9/14 12:30:23
我也是这么想的。可他跟我讲:我做了这么多年数据库,我还不清楚?所以我懵了,到这里求证大家的意见。



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#42004/9/14 17:17:35
可以看一些国外关于SQL SERVER阐述深一些的书,我正在看,但还没看完。外键其实很有用,特别是一些事务性的处理很必要。


非常大鱼

janlay

职务:管理员
等级:7
金币:28.0
发贴:7244
#52004/9/16 10:07:36
其他用户对另一个主键表的修改可能造成外键表的短时间锁定。比如一个主键记录正在被删除时,链接到它的外键表会形成相应的锁定,从而影响到查询速度



elite_5d

职务:普通成员
等级:2
金币:1.0
发贴:330
#62004/9/16 11:29:53
外键机制是关系型数据库所必需的,通过外键的设置,我们可以更灵活地操纵数据.
楼上的说法我觉得还需要进一步理解"锁定"的含义.



浮尘

职务:普通成员
等级:3
金币:7.0
发贴:1258
#72004/9/16 16:55:34
janlay就是强!终于明白了。谢谢。