CockroachDB 中的索引选择

Index selection in CockroachDB

我如何知道 CockroachDB 将为我的查询 select 哪个索引?如何确保我没有执行完整的 table 扫描?

这是一个很长的话题;有 an entire blog post devoted to the subject,这可能是了解它在 CockroachDB 中如何工作的最佳来源。

要查看 CockroachDB 正在为给定查询使用哪些索引,您可以使用 EXPLAIN 语句,它将打印出查询计划,包括正在使用的任何索引:

EXPLAIN SELECT col1 FROM tbl1;

如果您想告诉查询规划器使用哪个索引,您可以这样做 via some special syntax for index hints:

SELECT col1 FROM tbl1@idx1;