SQL Server - Comparing to NULL very slow

后端 未结 4 1501
感情败类
感情败类 2021-01-22 11:52

I want to speed up the following query

There are two conditions in the WHERE clause (see below query for reference)

Currently, it takes about 60 seconds. However

4条回答
  •  我在风中等你
    2021-01-22 12:29

    Can you split this into two queries? or often causes a problem for optimizers:

    if @Query is null
    begin
        select * 
        from (select row_number() over( order by b.BookTitle) as RowNumber, b.*
              from Books b (nolock)
              where @Query is NULL
             ) as t1
        where t1.RowNumber between 40 and 60;
    end
    else
    begin
        select * 
        from (select row_number() over( order by b.BookTitle) as RowNumber, b.*
              from Books b (nolock)
              where contains(b.BookTitle, @Query)
             ) as t1
        where t1.RowNumber between 40 and 60;
    end
    

提交回复
热议问题