From SQL Server Docs, section Execution Plan Caching and Reuse:
The algorithms to match new SQL statements to existing, unused execution plans in the cache require that all object references be fully qualified. For example, the first of these SELECT statements is not matched with an existing plan, and the second is matched:
SELECT * FROM Contact
SELECT * FROM Person.Contact
Is the above statement also true for object references that use the default dbo? The reason I ask is because I personally never fully qualify object references (and I assume most people don't) even when using a driver like JDBC. Does this mean that all of my SQL statements are being re-compiled every time they're executed?