This query: select p.file.fullName, score from familyPhotos p let score = IFMISSING(p.ranking.scores.emma,0) + IFMISSING(p.ranking.scores.matt,0) + IFMISSING(p.ranking.scores.ali,0) + IFMISSING(p.ranking.scores.matthew,0) where score > 0 order by score asc, p.file.fullName asc LIMIT 50; Generates this recommendation: CREATE INDEX adv_ifmissing__ranking__scores__matt_, 0_ifmissing__ranking__scores__matthew_, 0_ifmissing__ranking__scores__ali_, 0_ifmissing__ranking__scores__emma_, 0 ON `familyPhotos`(ifmissing((`ranking`).`scores`).`matt`), 0),ifmissing((`ranking`).`scores`).`matthew`), 0),ifmissing((`ranking`).`scores`).`ali`), 0),ifmissing((`ranking`).`scores`).`emma`), 0))