title: How to avoid too many joins?
body: <p>I would like your help to discuss how would I avoid too many joins using a generic approach. Is there a general rule for this? </p>
  
  <p>Currently, I have a very complex query that is joining 11 tables and the performance is very poor (even with indexes and updated statistics). Using the Entity Framework Profiler, I've received the suggestion to reduce the number of joins and, instead, perform several separate queries: <a href="http://hibernatingrhinos.com/products/EFProf/learn/alert/TooManyJoins" rel="noreferrer">link</a>.</p>
  
  <blockquote>
    <p>Each join requires the database to perform additional work, and the
    complexity and cost of the query grows rapidly with each additional
    join. While relational database are optimized for handling joins, it
    is often more efficient to perform several separate queries instead of
    a single query with several joins in it.</p>
  </blockquote>
  
  <p>How should I modify the following example to achieve a better performance?</p>
  
  <pre><code>select  *
  from   Blogs blog0_
         inner join Posts posts1_
           on blog0_.Id = posts1_.BlogId
         inner join Comments comments2_
           on posts1_.Id = comments2_.PostId
         inner join Users user3_
           on posts1_.UserId = user3_.Id
         inner join UsersBlogs users4_
           on blog0_.Id = users4_.BlogId
         inner join Users user5_
           on users4_.UserId = user5_.Id
  </code></pre>