• First off why is the statement wrapped in sp_cursorprepexec?

    Second, the parameters supplied in both sql scripts are different so will affect query time.

    Third, read uncommitted brings in a whole different behavior so you could be running into things like dirty reads etc which will change the behavour of the execution.

    The statement is wrapped in a sp_cursorprepexec because this is prepared statement that I have captured through profiler coming from the application

    If you check the statements you will find that the parameters on both are the same

    I just did some more testing and found that the read committed returns no results set yet the read uncommitted returns a result set??? (dont know why I didn't pick this up in the first place) Why would this be, they are exactly the same statement but just with a different isolation level. The database I'm testing on has no other users connected ??