MongoDB 8.3: arrayIndexAs ускоряет $map с индексом до 31%
В MongoDB 8.3 появился параметр arrayIndexAs, который передаёт $map индекс элемента напрямую, без обхода через $range и $arrayElemAt. На массивах от 10 000 до 320 000 элементов новая конструкция быстрее старого обходного пути на 15–31%, но при десяти параллельных агрегациях выигрыш падает до ~5%.
- arrayIndexAs передаёт индекс прямо в $map, убирая $range и $arrayElemAt
- На массиве из 320 000 элементов: 102 мс против 134 мс, ускорение 1,31x
- При 10 параллельных запросах разрыв сокращается с 13% до ~5%
- Под FCV 8.2 arrayIndexAs даёт ошибку парсера без упоминания версии
Читать дальше
Софт