gmn*_*gmn 6 sql sqlite indexing query-optimization
如果您有查询,例如:
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
Run Code Online (Sandbox Code Playgroud)
如果您认为每个表中有超过100,000行,那么在SQLite中为此查询编制索引的最佳列是什么?
我问的原因是,当我应用相同的优化时,我没有通过我希望从另一个RDBMS(SQL Server)获得与组的查询的性能.
我是否正确地认为在SQLite中的查询中的单个表上引用的所有列都需要包含在单个复合索引中以获得最佳性能?
问题是您希望SQLite具有与完整RDBMS相同的性能特征.它不会.SQLLite没有得到在内存中缓存相当多的奢侈品,拥有每次运行应用程序时重建缓存,可能是受限于核心数量,等,等,等,权衡使用嵌入式RDBMS一整个.
就优化而言,尝试索引查找列并进行测试.然后尝试创建覆盖索引.一定要测试selects更新数据库的两个代码路径和代码路径,你要加快另一个路由器的速度.找到能够根据您的需求在两者之间取得最佳平衡的索引并继续使用.
| 归档时间: |
|
| 查看次数: |
7785 次 |
| 最近记录: |