• Looking at a few rows of the procedure cache, I see this:

    UseCountsRefCountsCacheobjtypeObjtypedbidSQLSTMT

    11Compiled Plan StubAdhocNULLSELECT * FROM dbo.REFER WHERE USERID = 186 AND MSGID = 296

    11Compiled Plan StubAdhocNULLSELECT * FROM dbo.REFER WHERE USERID = 209 AND MSGID = 162

    11Compiled Plan StubAdhocNULLSELECT * FROM dbo.REFER WHERE USERID = 131 AND MSGID = 294

    11Compiled Plan StubAdhocNULLSELECT * FROM dbo.REFER WHERE USERID = 210 AND MSGID = 359

    11Compiled Plan StubAdhocNULLSELECT * FROM dbo.REFER WHERE USERID = 182 AND MSGID = 280

    11Compiled Plan StubAdhocNULLSELECT * FROM dbo.REFER WHERE USERID = 189 AND MSGID = 358

    etc etc etc

    It is the same query over and over. Why would it not reuse the compiled plan?