CREATE INDEX ix51 ON default(main.status);
|
CREATE INDEX ix52 ON default(main.owner);
|
EXPLAIN SELECT store.main.status
|
FROM default store
|
LEFT JOIN default item ON KEY item.main.owner FOR store
|
WHERE store.main.status = "OPEN";
|
LEFT side of query should have covered by ix51 but it is not covered. For following expression As key spaces are different it should have been coveredSkip which should be true for covering
expression.IsCovered(expr, alias, coveringExprs) is returns false for
|
expr : ((`item`.`main`).`owner`)
|
alias: "store"
|
coveringExprs : [((`store`.`main`).`status`), (meta(`store`).`id`)]
|
If the fields are not nested it is covered (below example)
CREATE INDEX ix51 ON default(status);
|
CREATE INDEX ix52 ON default(owner);
|
EXPLAIN SELECT store.status
|
FROM default store
|
LEFT JOIN default item ON KEY item.owner FOR store
|
WHERE store.status = "OPEN";
|