title: SQLite join optimisation
body: <p>If you have a query such as:</p>
  
  <pre><code>select a.Name, a.Description from a
  inner join b on a.id1 = b.id1
  inner join c on b.id2 = c.id2
  group by a.Name, a.Description
  </code></pre>
  
  <p>What would be the most optimal columns to index for this query in SQLite if you consider that there are over 100,000 rows in each of the tables?</p>
  
  <p>The reason that I ask is that I do not get the performance with the query with the group by that I would expect from another RDBMS (SQL Server) when I apply the same optimisation. </p>
  
  <p>Would I be right in thinking that all columns referenced on a single table in a query in SQLite need to be included in a single composite index for best performance? </p>