我在桌子上有一个二级索引:
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确切地询问它正在访问哪些表?
答案 0 :(得分:2)
由于此查询仅使用索引覆盖的列,因此它不会加入基表。 您总是可以在gcloud工具中运行(EXPLAIN / PROFILE SQL_QUERY用于查询计划)。