【发布时间】:2017-02-10 15:58:10
【问题描述】:
我们使用的是 SQL Server 2014(不是 SQL Azure),我已经定义了一个简单的表来存储图像 (.jpg) 和
CREATE TABLE [dbo].[Graphic](
[GraphicID] [int] IDENTITY(1,1) NOT NULL PRIMARY KEY,
[FileName] [varchar](100) NOT NULL,
[FileDescription] [nvarchar](200) NULL,
[Image] [varbinary](max) NULL
)
存储的图像的最大大小为 1MB,此验证在前端进行。我刚刚插入了 15 张图片,目前表格大小为 5544 KB。 GraphicID 列上有一个主键。没有放置其他索引。
但是,当我使用以下(简单的 SELECT)查询检索一张或多张图片时,需要更长的时间,例如 25 到 30 秒。
select * from [Graphic]
where [GraphicID] = 53
是否有更快的机制在 5 秒内查询 SQL Server 中的图像?
SQL Server 2014 中是否有任何替代的图像保存和检索机制以获得更好的性能?
请帮忙。
谢谢
巴努
【问题讨论】:
-
您使用什么查询来检索结果?表上有哪些索引?
-
停止在数据库中存储图像。
-
性能问题应该包括
EXPLAIN ANALYZE和一些关于表大小、索引、当前时间性能、期望时间等的信息。Slow是一个相对术语,我们需要一个真实的值来比较。 -
谷歌文件流
-
客户端(执行查询的)相对于服务器在哪里?我看到您有一些与
Azure相关的问题。如果您通过 Internet 获取,那么网络传输可能是主要问题...
标签: sql-server sql-server-2014