如果我有Table Table
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,
)然后我选择record by:
SELECT * FROM Users WHERE eMail = 'test@test.com' AND isActive = TRUE扳手将自动查看索引,获取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}'``问题是标准选择是否自动使用扳手辅助索引?条件是否匹配辅助索引键?
发布于 2017-04-06 06:36:32
发布于 2017-04-06 16:34:02
在github中,我问了同样的问题,结果很容易做到这一点(无需创建额外的索引):
SELECT * from Users@{FORCE_INDEX=ActiveUsersByEMail} WHERE eMail = 'test@test.com' AND isActive = TRUE此时,搜索是在索引和行上进行的,其中包含所有字段
https://stackoverflow.com/questions/43242591
复制相似问题