【问题标题】:SQL Server: select on a table that contains a blobSQL Server:在包含 blob 的表上选择
【发布时间】:2012-07-25 03:41:00
【问题描述】:

我的应用正在查询 - 其中包括 - 具有 blob 列和其他元数据列(没有其他 LOB 列)的表。

我读到如果对象本身不是太大,它可能仍然存储在表中,而不是作为自身的链接。在这种情况下,对此类表的“SELECT”语句,即使它不包含 blob,例如:

SELECT Date FROM MyTable

可能仍会检索 blob(仅在服务器中),因此需要更长的时间来执行。

这是真的吗?任何人都可以提供解释或链接吗?

我在 SQL 方面的背景比较基础,所以我可能不准确,抱歉。

谢谢。

【问题讨论】:

    标签: sql sql-server blob


    【解决方案1】:

    如果在日期列上创建非聚集索引,则可以通过扫描索引来检索数据,而不是扫描整个表。您应该会看到 I/O 下降。

    【讨论】:

    • 日期是一个例子。我检索了几列信息,而不仅仅是一列,而且日期正在改变(它是“上次更新的”),我不确定它是否适合索引。无论如何,我在 Id 列上有一个聚集索引。问题是,我认为如果 blob 是索引的一部分,这意味着搜索速度较慢,对吗?
    • @Noich 对此没有是或否的答案,抱歉。 LOB 列不能是非聚集索引的一部分,除非您的意思是 INCLUDE。
    猜你喜欢
    • 2019-11-27
    • 1970-01-01
    • 2019-12-16
    • 2017-02-15
    • 1970-01-01
    • 1970-01-01
    • 2021-09-22
    • 1970-01-01
    • 2014-02-16
    相关资源
    最近更新 更多