title: SQL Server performance and fully qualified table names
body: <p>It seems to be fairly accepted that including the schema owner in the query increases db performance, e.g.:</p>
  
  <p><code>SELECT x FROM [dbo].Foo</code> vs <code>SELECT x FROM Foo</code>.</p>
  
  <p>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.</p>
  
  <p>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:</p>
  
  <pre><code>SELECT x FROM MyDatabase.[dbo].Foo
  </code></pre>
  
  <p>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?</p>
  
  <p>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)?</p>