gpt4 book ai didi

performance - 向 SQL Server 2008 数据库添加非强制外键是否会影响性能?

转载 作者:行者123 更新时间:2023-12-01 13:09:10 26 4
gpt4 key购买 nike

我正在处理一个数据库,我想开始使用 LINQ To SQL 来处理它。出于性能原因,数据库中现在没有任何 FK。我们一次向数据库插入数百万行,这就是没有任何 FK 的原因。

所以我想我要向数据库添加非强制 FK 来描述我的 LINQ To SQL 表之间的关系,但我不希望通过添加非强制外键来影响性能。

有人知道这会产生什么影响吗?

更新:我将 LINQ-To-SQL 用于非性能密集型内容。 80% 的数据访问是通过生产中的存储过程进行的。但是对于编写单元测试和其他非性能关键任务,LINQ-To-SQL 使数据访问变得非常容易。

更新:这是添加非强制 FK 的方法

ALTER TABLE [dbo].[ACI] WITH NOCHECK ADD CONSTRAINT [FK_ACI_CustomerInformation] FOREIGN KEY([ACIOI])引用 [dbo].[客户信息] ([ACI_OI])不可复制开始

ALTER TABLE [dbo].[ACI] NOCHECK 约束 [FK_ACI_CustomerInformation]开始

最佳答案

不同环境的答案可能不同(同一驱动器上的数据/日志、同一驱动器上的 tempdb、大量缓存与少量缓存等),因此找出这一点的最佳方法是进行基准测试。创建两个相同的数据库,一个有 fk,一个没有。将正常的百万行加载到每个数据库中,并测量每秒的事务数。这样您就可以在自己的环境中确定。

关于performance - 向 SQL Server 2008 数据库添加非强制外键是否会影响性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/466429/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com