sql server - How to improve SQL performance for this case? -


i issue following sql:

select * mytable  myid  =123    , mydate >= (case when isnull(null,'')='' mydate else null end) 

performance pretty bad.

if modify this:

select * mytable  myid  =123    , mydate >= mydate 

the performance better.

my real sql like:

select * mytable  myid  =123    , mydate >= (case when isnull(@mydate,'')='' mydate else null end) 

mydate datetime column.

how improve performance case?

if t-sql then:

declare @mydate datetime set @mydate = null if @mydate not null begin     select *      mytable      myid  = 123        , mydate >= @mydate end else begin     select *      mytable      myid  = 123        , mydate >= '' end 

else param'd sql:

select *    mytable    myid  = 123        , (@mydate null or mydate >= @mydate) 

edit: added not if condition.


Comments

Popular posts from this blog

java - SNMP4J General Variable Binding Error -

windows - Python Service Installation - "Could not find PythonClass entry" -

Determine if a XmlNode is empty or null in C#? -