二级索引的部分密钥

时间:2017-02-16 00:01:01

标签: google-cloud-spanner

我在桌子上有一个二级索引:

CREATE NULL_FILTERED INDEX RidesByPassenger ON Rides(
  passenger_id,
  start_time,
)

如果我运行以下查询:

SELECT start_time FROM Rides@{FORCE_INDEX=RidesByPassenger}
WHERE passenger_id='someid' AND start_time IS NOT NULL;

我可以确定不会访问基表吗?换句话说,如果我只使用主键的第一部分(在本例中为passenger_id)查询二级索引,它是否只使用二级索引?还是基表呢?另外,有没有办法在我运行查询时向Spanner确切地询问它正在访问哪些表?

1 个答案:

答案 0 :(得分:2)

由于此查询仅使用索引覆盖的列,因此它不会加入基表。 您总是可以在gcloud工具中运行(EXPLAIN / PROFILE SQL_QUERY用于查询计划)。

相关问题