Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何在SQL Server 2014中更快地检索图像?_Sql Server_Sql Server 2014 - Fatal编程技术网

Sql server 如何在SQL Server 2014中更快地检索图像?

Sql server 如何在SQL Server 2014中更快地检索图像?,sql-server,sql-server-2014,Sql Server,Sql Server 2014,我们使用的是SQL Server 2014(不是SQL Azure),我定义了一个简单的表来存储图像(.jpg)和 存储的图像的最大大小为1MB,此验证在前端进行。我刚刚插入了15幅图像,目前表的大小是5544KB。GraphicID列上有一个主键。没有放置其他索引 但是,当我使用下面的(简单选择)查询检索一个或多个图像时,需要花费较长的时间,如25-30秒 select * from [Graphic] where [GraphicID] = 53 是否有一种更快的机制可以在5秒内查询SQL

我们使用的是SQL Server 2014(不是SQL Azure),我定义了一个简单的表来存储图像(.jpg)和

存储的图像的最大大小为1MB,此验证在前端进行。我刚刚插入了15幅图像,目前表的大小是5544KB。GraphicID列上有一个主键。没有放置其他索引

但是,当我使用下面的(简单选择)查询检索一个或多个图像时,需要花费较长的时间,如25-30秒

select * from [Graphic]
where [GraphicID] = 53
是否有一种更快的机制可以在5秒内查询SQL Server中的图像

SQL Server 2014中是否有其他存储和检索图像的机制以提高性能

请帮忙

谢谢

巴努

如果这确实是您的模式(而且您似乎非常不确定),那么问题在于您从未向表中添加索引。在
GraphicID
上添加聚集索引,它应该修复这个特定的访问模式


另一个注意事项是,如果您知道
varbinary
的最大大小(您说过您知道),那么您应该使用它,而不是使用
max
。这样,表格布局会将图像存储在行内(最大为某一大小),而不是在末尾追加图像,从而使较大、零碎表格的行检索(
select*
)速度大大加快。

用于检索结果的查询是什么?表上有哪些索引?停止在数据库中存储图像。性能问题应包括
解释分析
以及有关表大小、索引、当前时间性能、期望时间等的一些信息。
是一个相对术语,我们需要一个实际值进行比较。Google FileStream客户端在哪里(进行查询的人)关于服务器?我看到您有一些与Azure相关的问题。如果您是通过internet获取的,那么网络传输可能是主要问题…对于他的表,大小为5mb,这一点都不重要。这是
varbinary(max)
这把他搞砸了。不,不是,这只在插入时才重要。选择它相对比较快。你可以争辩,但他在表中只有15条记录。不是15000000条。
select * from [Graphic]
where [GraphicID] = 53
CREATE TABLE [dbo].[Graphic](
    [GraphicID] [int] IDENTITY(1,1) NOT NULL,
    [FileName] [varchar](100) NOT NULL,
    [FileDescription] [nvarchar](200) NULL,
    [Image] [varbinary](max) NULL
)