小编hin*_*531的帖子

考虑有点重的数据库

环境信息

  • 操作系统:Windows Server 2012 R2(64 位)
  • 内存:16.00GB
  • CPU : Intel(R) Xeon(R) CPU E5-2609 @ 2.40GHz
  • SQL:Windows SQL Server 2012 标准版

简要数据库数据信息

  • 10多张表中,其中一张有varbinary(max)类型的列
  • 该表有超过1m的记录,每列都有缩略图数据,大约占20k

简表规格

  • 表名:注册缩略图
  • 列名:UserId、ThumbData、已创建、已更新
  • 列类型:int、varbinarymax、datetime、datetime
  • 已用空间信息:行:1,034,300 | 保留:34,092,160 KB | 数据:34,054,872 KB | 索引大小:31040 KB | 未使用:6248 KB

询问

SELECT * FROM RegisteredThumbnail WHERE UserId = 512315
Run Code Online (Sandbox Code Playgroud)

此查询需要大约 6:45 分钟才能获取预期的行。

为了克服这个问题,索引是我唯一的选择吗?

通过将二进制数据替换为图像 url 作为字符串数据来更改图像数据的存储方式会有很大帮助吗?

由于这是当前的操作系统,因此更改列并不是一个好主意。

任何想法将不胜感激。

尚未配置索引。

performance sql-server sql-server-2012 query-performance

1
推荐指数
1
解决办法
134
查看次数