【问题标题】:MS SQL Server - Determine disk space for foreign keysMS SQL Server - 确定外键的磁盘空间
【发布时间】:2015-02-11 09:06:57
【问题描述】:

我开始研究一个数据库,它有两个相当大的表——比如这个例子(大小或多或少是正确的):

-> dbo.Articles (100 million rows; <10GB)
-> dbo.Prices   ( 10 billion rows; <100GB)

价格表有文章的 ID,但没有定义技术外键。这导致这些表中有数千个不一致的行以及我们开始使用的一些框架“不喜欢”这些非关系结构。 我更喜欢数据是一致的和相关的,所以我打算添加一个外键。

知道外键需要多少存储空间以及是否有任何性能(缺点)优势?当然,ID 已经编入索引。

感谢您的任何想法和建议!

【问题讨论】:

    标签: sql-server foreign-keys relational-database diskspace


    【解决方案1】:

    外键只需要元数据中几个字节的存储空间。

    它需要在被引用但似乎已经存在的列上建立索引。

    外键检查在您应该检查的 DML 执行计划中可见。如果引用的数据在内存中,它只需要一点 CPU 并且没有 IO。

    FK 可以提高性能,因为它们支持某些查询优化。

    【讨论】:

    • 已经有了很好的答案,而且答案是我心中所希望的。我想是时候使用本地数据库副本进行一些测试了。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-04
    • 1970-01-01
    • 1970-01-01
    • 2020-07-12
    • 1970-01-01
    相关资源
    最近更新 更多