It seems to be fairly accepted that including the schema owner in the query increases db performance, e.g.:

SELECT x FROM [dbo].Foo vs SELECT x FROM Foo.

This is supposed to save a lookup, because SQL Server will otherwise look for a Foo table belonging to the user in the connection context.

Today I was told that always including the database name improves the performance the same way, even if you are querying the database you selected in your connection string:

SELECT x FROM MyDatabase.[dbo].Foo

Is there any truth to this? Does this make sense as a coding standard? Does any of this (even the first example) translate to measurable benefits?

Are we talking about a few cycles for an extra dictionary lookup on the database server vs more bloated SQL and extra concatenation on the web server (or other client)?

Edit
Report