I have some performance issues.
I have a table with about 2 million rows.
CREATE TABLE [dbo].[M8](
[M8_ID] [int] IDENTITY(1,1) NOT NULL,
[APPLIC] [char](8) NOT NULL,
[NIVALERTE] [numeric](1, 0) NOT NULL,
[LOGDH] [datetime2](7) NULL,
[USERX] [char](20) NOT NULL,
[TACHE] [char](3) NOT NULL,
[PRG] [char](32) NOT NULL,
[DOS] [numeric](3, 0) NOT NULL,
[ERRNUM] [numeric](5, 0) NOT NULL,
[LOGTXT] [char](200) NOT NULL)
I read them with C# and ADO.NET
In the management studio (SQL Server 2008 R2), with that query :
SELECT
M8.M8_ID, M8.APPLIC, M8.NIVALERTE, M8.LOGDH, M8.USERX, M8.TACHE,
M8.PRG, M8.DOS, M8.ERRNUM, M8.LOGTXT
FROM
M8 AS M8 WITH(NOLOCK)
WHERE
((M8.APPLIC LIKE 'DAV' ) )
ORDER BY
M8.LOGDH DESC, M8.M8_ID ASC
OPTION (FAST 1)
It take about 1 minute to have the first rows.
But, with
DECLARE @APPLIC_ZOOMAPRESCLE_ZOOM_LIKE_APPLIC_WHERE_0 as char(8) = 'DAV'
SELECT
M8.M8_ID, M8.APPLIC, M8.NIVALERTE, M8.LOGDH, M8.USERX, M8.TACHE,
M8.PRG, M8.DOS, M8.ERRNUM, M8.LOGTXT
FROM
M8 AS M8 WITH(NOLOCK)
WHERE
((M8.APPLIC LIKE @APPLIC_ZOOMAPRESCLE_ZOOM_LIKE_APPLIC_WHERE_0 ) )
ORDER BY
M8.LOGDH DESC, M8.M8_ID ASC
OPTION(FAST 1)
I get the first rows after 4 seconds.
PS : I know, I have no % in the like.
Edit: Here are the execution plans https://www.dropbox.com/sh/jgai5f9txbs84x6/EP5_hj8DNv