MongoDB Indexing vs Array Implementation для нашего конкретного приложения

Вот проблема. Мы работаем с MongoDB-PHP.

В нашем приложении у нас есть много групп пользователей, где пользователи могут создавать сообщения. В настоящее время мы поддерживаем отправку сообщений этими группами в документе этой группы в формате массива. Итак, когда нам нужно захватить первые 10 сообщений, мы можем захватить их из массива с помощью операции среза.

Например: случай 1

сбор сообщений: // в этой коллекции хранятся все сообщения различных групп

{ {"_id":"1","post_text":"....",...} {"_id":"2","post_text":"....",...} } ` 

группы коллекции: // эта коллекция содержит документы для каждой группы

 { { "_id":"1" "name":"Group ABC", "post_ids":{"1","2"...."100"} //1,2..100 represents MongoIDs of corresponding posts of this group //so i can slice first 10 posts of this group when someone visits this page } } 

`
В отличие от хранения этих идентификаторов сообщений в документе группы , если мы используем индексирование на идентификаторе группы и сохраняем это в коллекции сообщений.
Например: Случай 2

сборники

 { {"_id":"1","group_id":"1","post_text":"....",...} {"_id":"2","group_id":"2","post_text":"....",...} } 

Также обратите внимание, что в случае 1 нам не нужно применять какие-либо операции сортировки по мере того, как элементы массива подталкиваются, в то время как в случае 2 нам придется применять сортировку (по критерию временной метки) после операции поиска, которая будет считывать все документы из памяти и затем примените сортировку по ним.

Чья производительность была бы лучше с учетом того, что индексы будут храниться в ОЗУ?

Пожалуйста, дайте мне знать, если вопрос не ясен из этого вопроса.