Merge pull request #6180 from mozilla/fix/issue-6064

fix(admin): split query for index usage
This commit is contained in:
Ben Bangert 2020-08-10 14:45:05 -07:00 коммит произвёл GitHub
Родитель b7924f18ef 2f2c409f04
Коммит 41da2dbbdc
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
1 изменённых файлов: 3 добавлений и 2 удалений

Просмотреть файл

@ -54,13 +54,14 @@ export class AccountResolver {
@FieldResolver()
public async emailBounces(@Root() account: Account) {
const uidBuffer = uuidTransformer.to(account.uid);
const subquery = Emails.query()
// MySQL Query optimizer does weird things, use separate queries to force index use
const emails = await Emails.query()
.select('emails.normalizedEmail')
.where('emails.uid', uidBuffer);
const result = await EmailBounces.query().where(
'emailBounces.email',
'in',
subquery
emails.map((x) => x.normalizedEmail)
);
return result;
}