• I created the filtered covering index on InvoiceUID as you said,(run dbcc freeproccache and dbcc dropcleanbuffers) but it was not usable.Again it uses the IX_invoice index and the plan dose not change . also the elapsed time increases over 1 minute.

    Another thing is that the parameters are dynamic and they change each time.(the queries are created from LINQ and run with sp_executesql)