【发布时间】:2011-05-10 04:03:32
【问题描述】:
如果您有如下查询:
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
如果您认为每个表中有超过 100,000 行,那么在 SQLite 中为该查询建立索引的最佳列是什么?
我问的原因是,当我应用相同的优化时,我没有从另一个 RDBMS (SQL Server) 获得预期的组查询性能。
我是否认为 SQLite 查询中单个表上引用的所有列都需要包含在单个复合索引中以获得最佳性能?
【问题讨论】:
-
我内心的精神病患者正在抽搐,因为您有一个没有任何聚合函数的 group by 子句。您想通过小组实现什么目标?
-
@MyOtherMe:请参阅下面的答案,我认为他想要在 b 和 c 表中引用的所有描述和名称中有所不同。
标签: sql sqlite indexing query-optimization