【问题标题】:Check for NULL varchar(max) in where condition在 where 条件下检查 NULL varchar(max)
【发布时间】:2018-11-21 14:25:10
【问题描述】:

在 SQL Server 2008 R2 中,我正在尝试运行此查询

select 
    count(ID_FILE)
from 
    MY_FILES
where 
    DOCUMENT IS NULL

DOCUMENTfilestream varchar(max) blob 列。

查询

select ID_FILE
from MY_FILES

2秒后返回,如果我加上where条件,就无穷无尽了。

这个表总共有20GB的blob,是不是IS NULL勾选“傻瓜”,所以必须扫描所有20GB的数据来检查NULLs?

谢谢。

【问题讨论】:

    标签: sql-server sql-server-2008-r2 blob


    【解决方案1】:

    拉布拉卡,

    以下帖子可能对您有所帮助:

    Empty BLOBS - SQL Server

    【讨论】:

    • 您好,谢谢。我尝试按照帖子中的建议将 'where DOCUMENT IS NULL' 替换为 'where datalength(DOCUMENT) = 0',无论如何它都非常慢。不知何故,我希望检查 NULL 的速度非常快。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-09
    • 1970-01-01
    • 1970-01-01
    • 2018-01-31
    • 2011-12-08
    • 1970-01-01
    • 2016-09-24
    相关资源
    最近更新 更多