English 中文(简体)
• 检查ISNUL在业余领域的战略?
原标题:Strategies for checking ISNULL on varbinary fields?

过去,我注意到,在打上一个var(最大)一栏时,业绩是可怕的。 可承受的是,在检查是否无效时,似乎也会出现这种情况,而我正在ping动发动机,却会带来一些捷径。

select top 100 * from Files where Content is null

我怀疑,它之所以缓慢,是因为它 s了。

  1. Needing to pull the whole binary out, and
  2. It s not indexed (varbinary can t be part of a normal index)

这个问题似乎不同意我在此缓慢的前提,但我似乎一再在双向领域遇到业绩问题。

可能的解决办法 我的想法是编造一个计算栏,编号为is:

alter table Files
add ContentLength as ISNULL(DATALENGTH(Content),0) persisted

CREATE NONCLUSTERED INDEX [IX_Files_ContentLength] ON [dbo].[Files] 
(
    [ContentLength] ASC
)

select top 100 * from Files where ContentLength = 0

这是一项有效的战略吗? 在涉及双向田时,还有哪些其他有效办法?

最佳回答

我认为,这很缓慢,因为var英一栏没有(也不可能)编入索引。 因此,你使用计算(和指数化)栏的方法是有效的。

不过,我将使用<代码>ISNUL(DATALENGTH(Content),<-1)/code>,以便你能够区分0和NUL。 或仅使用。 我指的是,微软卡服务器不是Oracle,空洞与NUL一样。

问题回答

我们在寻找一行时也存在同样的问题,因为一劳永逸的价值并非无效。 对我们来说,解决办法是更新数据库统计数据:

exec sp_updatestats

在这样做之后,询问速度要快得多。





相关问题
SQL SubQuery getting particular column

I noticed that there were some threads with similar questions, and I did look through them but did not really get a convincing answer. Here s my question: The subquery below returns a Table with 3 ...

难以执行 REGEXP_SUBSTR

I m 查询Oracle 10g。 我有两张表格(样本数据见下文)。 i m 试图提取一些领域

SQL Query Shortcuts

What are some cool SQL shorthands that you know of? For example, something I learned today is you can specify to group by an index: SELECT col1, col2 FROM table GROUP BY 2 This will group by col2

PHP array callback functions for cleaning output

I have an array of output from a database. I am wondering what the cleanest way to filter the values is example array Array ( [0] => Array ( [title] => title 1 ...

OracleParameter and DBNull.Value

we have a table in an Oracle Database which contains a column with the type Char(3 Byte). Now we use a parameterized sql to select some rows with a DBNull.Value and it doesn t work: OracleCommand ...

Running numbers in SQL

I have a SQL-statement like this: SELECT name FROM users WHERE deleted = 0; How can i create a result set with a running number in the first row? So the result would look like this: 1 Name_1 2 ...

How to get SQL queries for each user where env is production

I’m developing an application dedicated to generate statistical reports, I would like that user after saving their stat report they save sql queries too. To do that I wrote the following module: ...

热门标签