Я использую MongoDB в качестве базы данных для сети игрового сервера. У каждого игрока в сети есть два способа их идентификации: имя пользователя и UUID. Оба поля уникальны для каждого игрока, и часто бывает полезно получить UUID игрока по его имени, получить его имя по UUID и получить весь документ по его имени или UUID. Без учета требований к пространству, какая схема индексации позволит быстрее выполнять эти запросы?
Моя идея состоит в том, чтобы создать уникальный индекс для каждого из двух полей, но мне любопытно, предлагает ли MongoDB лучшую оптимизацию, особенно когда я хочу получить только одно поле с учетом другого. Я читал, что составные индексы могут учитывать закрытые запросы, когда нет необходимости извлекать полный документ, но я не уверен, может ли это снизить производительность по сравнению с наличием одного индекса для каждого поля.