在SequoIADB中查询时,如何选择索引扫描或表扫描



有以下方案:

使用PG执行查询如下:

Select count(*) from t where DATETIME >'2018-07-27 10.12.12.000000' and DATETIME < '2018-07-28 10.12.12.000000' 

它以快速执行返回22个索引。

查询条件具有" ="

Select count(*) from t where DATETIME >='2018-07-27 10.12.12.000000' and DATETIME <= '2018-07-28 10.12.12.000000' 

它返回22个索引,费用为20s。

我发现没有" ="的查询选择索引扫描,但是,使用" =" 的查询部分选择表扫描。

根据您的问题:

  1. 当前的索引机制是优化器匹配第一个可用索引,这意味着查询将首先选择创建的第一个索引,并且索引的选择取决于创建索引的顺序。在索引的情况下,查询将首先进行索引扫描。

  2. 确保每个数据组上的节点都包含索引,否则未索引数据节点将进行表扫描。

  3. 执行分析优化查询。分析是SequoIADB v3.0的新功能。它主要用于分析集合,索引数据和收集统计信息,并提供最佳查询算法以确定索引或表扫描。分析特定用法参考:http://doc.sequesoiadb.com/cn/index-cat_id-1496923440-edition_id-300-300

  4. 查看find.explain()查看查询成本

  5. 的访问计划

相关内容

  • 没有找到相关文章

最新更新