如果我有表表
CREATE TABLE Users (
userId STRING(36) NOT NULL,
contactName STRING(300) NOT NULL,
eMail STRING(100) NOT NULL,
....
) PRIMARY KEY (userId)
和二级索引
CREATE NULL_FILTERED INDEX ActiveUsersByEMail
ON Users (
eMail,
isActive,
)
我通过以下方式选择记录:
SELECT * FROM Users WHERE eMail = 'test@test.com' AND isActive = TRUE
spanner 会自动查看索引,获取 userId 并给我一个记录?
或者我需要创建
CREATE NULL_FILTERED INDEX ActiveUsersByEMail_01
ON Users (
eMail,
isActive,
userId
)
并首先通过以下方式获取 userId:
SELECT userId from Users@{FORCE_INDEX=ActiveUsersByEMail_01} WHERE eMail = 'test@test.com' AND isActive = TRUE
然后我通过以下方式记录:
`SELECT * FROM Users WHERE userId = '${userId}'``
如果条件匹配二级索引键,问题是否自动使用或不使用扳手二级索引进行标准选择?