我在一个表上有一个二级索引:
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确切地访问哪些表?
发布于 2017-02-16 08:02:05
由于此查询仅使用索引所覆盖的列,因此它不会联接基表。你可以随时在gcloud工具中运行(查询计划的解释/配置文件SQL_QUERY )来确保。
https://stackoverflow.com/questions/42262396
复制相似问题