Привет, ребята! Может кто-нибудь прояснить мне пару вопросов по поводу

прфексов индекса?

Допустим, я имею индекс { a: 1, b: 1, c: 1 }. Он будет иметь префиксы { a: 1 } и `{ a: 1, b: 1 }`и они могут быть задействованы в запросах, как если бы я их создал отдельно, правильно? То есть создание этих индексов отдельно можно рассматривать как дублирование индексов?

Второй вопрос: если префикс { a: 1, b: 1 } может задействоваться при запросе, можно ли в таком случае перебирать коллекции в обоих направлениях, если a используется в фильтре, а b для сортировки? db.collection.find({ a: 'test' }).sort({ b: 1 }) и db.collection.find({ a: 'test' }).sort({ b: -1 }).

2 ответов

13 просмотров

Все верно по логике. Но надо помнить что компаунд индексы могут достаточно большие и их задействование может не происходить если дешевле просто пробежаться по коллекции даже без использования индексов. Так что всеода используйте explain для понимания того как будет в реально сти выглядеть план выполнения запроса

еще сталкивался с прецедентом на большой шардированной коллекции... Там не уехало на другой шард часть данных, и это все выглядело как 15, 16, 17, 32, 33, 34, 35, 36, 37, 38, ....... то есть значения 15, 16, 17 должны были уехать на другой шард. Но не уехали. И это провоцировало коллскан, а не использование индекса.

Похожие вопросы

Обсуждают сегодня

Подскажите, а есть vault lite или ченить такое?) А то нужен вольт для похода в вольт, но весит он ~500 мб) как-то многовато для парочки запросов ))
Alexandr Orloff
17
Всем привет, есть небольшая проблема Есть такой скрипт document.addEventListener('DOMContentLoaded', function () { const sliderTabs = document.querySelectorAll('.s...
A da
8
@go1337 @dblackCat Привет. Все ещё дрочусь с fastpanel. Добавил второй домен который должен смотреть в рут того же сайта, но так как это просто домен, а не сайт, я не могу ему...
Ross 🦴
9
До речі, в ево нема можливості чи якого розширення щоб з адмінки з телефона зайти і терміново щось в верстці поправити?
Женя
7
кто-нибудь пользуется тайм-трекерами во время работы? так много разных нагуглил, может есть что-то популярное
Lencore
8
Пацаны. Я разрабатываю софт для инвайтинга на телетон, и столкнулся с такой проблемой, в один из чатов не могу приглашать никого, не дает добавлять, в то же время через официа...
Kernel Panic
11
Скажите, а кому нужен Currency как отдельный плагин вместо полноценного ecommerce в OctoberCMS? Кто-то использует его уже или планирует в будущем? Может я что-то не понимаю?
Igor
13
Розмовами про Рево мені нагадали часи, коли шаблони правилися прямо в адмінці. Хто в курсі, чому відійшли від цієї практики, так блейд не працює? Доволі зручно ж було (інколи)
Женя
3
Всем добрый вечер, Рад оказаться в кругу единомышленников. Начинаю погружаться в мир .net веба. Зовут Ерасыл 🖖 У меня назрел вопрос: Какой процент проектов, прошедшие через в...
Ерасыл
6
Чому? Да тому що без GiT не уявляю нормального проекта а коли код в базі то то так собі
Dmytro Lukianenko
3
Карта сайта