gpt4 book ai didi

c# - 如果我查询 SQL Server VarBinary(MAX) 列,整个文件是否会加载到内存中?

转载 作者:太空狗 更新时间:2023-10-30 01:22:45 24 4
gpt4 key购买 nike

我的应用程序使用的是 SQL Server 2008,我们需要为用户添加功能,以便可以选择将任何大小的文件保存到数据库表中。我已经设置了类似于这种格式的表格:

  • FileStorageID - int (indentity PK)(这也是不同表的外键)
  • 文件数据 - varbinary(max)
  • 文件名 - varchar(1000)

FileStorage 表与另一个表Documentation 具有零对一的关系。这个想法是用户可以写一些文本,上传一个文件,或者两者兼而有之。

该表如下所示:

  • DocumentationID - int(身份 PK,FK 到“IrrelevantInterestingObject”表)
  • 文本 - varchar(max)
  • FileStorageID - int(FK 到上述 FileStorage 表)

我的问题是:当我使用 Entity Framework 5 查询 Documentation 表时,数据库中存在一个文件,整个文件是否会存储在内存中?如果是,在出现明显的性能问题之前的合理阈值是多少?

最佳答案

如果您查询 Documentation 表,则不会加载相关 FileStorage 表中的数据,直到您通过预加载、显式加载或延迟加载加载关系。一旦您使用任何此类方法或直接查询 FileStorage,每个检索到的记录的整个 FileData 将加载到内存中。

关于c# - 如果我查询 SQL Server VarBinary(MAX) 列,整个文件是否会加载到内存中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12904416/

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