gpt4 book ai didi

sql-server - 用于存储大量图像的 SQL Server 表结构

转载 作者:行者123 更新时间:2023-12-03 16:41:12 26 4
gpt4 key购买 nike

在 SQL Server 2008 中存储大量图像数据的最佳做法是什么?我希望使用大约 5 GB 的存储空间来存储大约 50,000 张图像。目前我正在使用带有列的单个表来执行此操作:

ID: int/PK/identity
Picture: Image
Thumbnail: Image
UploadDate: DateTime

我很担心,因为在我预期总容量的 10% 左右时,插入似乎需要很长时间。典型的图像约为 20k - 30k。是否有更好的逻辑结构来存储这些数据?或者我是否需要研究集群或其他一些 IT 解决方案来适应数据负载?

最佳答案

Image 是 SQL Server 2008 中不推荐使用的数据类型。自 SQL Server 2005 起,它已被 VARBINARY(MAX) 替换。如果您决定将图像存储在数据库,那么您应该使用 VARBINARY(MAX) 字段并考虑添加 FILESTREAM 选项。

对于流数据,如图像,FILESTREAM 比单独的 VARBINARY(MAX) 快得多,根据 this white paper :

Filestream vs. varbinary(max) performance
(来源:microsoft.com)

请注意,要实现这种流式传输性能,您必须在设计中使用正确的 API 并获得 Win32 handle of the BLOB .请注意,更新到 FILESTREAM 列(包括 INSERTS)将比 VARBINARY(MAX) 慢。

关于sql-server - 用于存储大量图像的 SQL Server 表结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1820374/

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