title: Improve performance that uses isnull in a where clause
body: <p>There is a report whose query is using isnull in the where clause and it's causing some performance issues. 
  Here is a very simplified example. 
  <a href="http://www.sqlfiddle.com/#!6/79759/11" rel="nofollow">http://www.sqlfiddle.com/#!6/79759/11</a></p>
  
  <p>The query is using a multi-valued parameter, usually just returning one or two values. (I've tried to replicate the SSRS multi-value param using a table variable in sqlfiddle)</p>
  
  <pre><code>select 
    isnull(descrL,descr) as division,
    product
  from Upper
  left join Lower on product = productL
  where isnull(DescrL,Descr) in (@params)
  </code></pre>
  
  <p>There is an Upper division that has all the products. Some of the products exist on a child  division. If it exists in the lower division, that is the division that should be shown.</p>
  
  <p>The company parameter can accept the upper division, lower division, or both.</p>
  
  <p>Any ideas on how the query can be changed for better performance?</p>