Žádné velké rozdíly v účinnosti, pokud vím, nejsou kromě v určitých případech, jako je řazení podle data (protože ObjectId obsahuje datum a čas atd.)
Ztratili byste například možnost jednoduše objednávat podle _id také byste přišli o výhody pro sharding a distribuci . Kromě toho zatímco já osobně bych stejně používal ObjectId ... pokud je int je neklidný (samozřejmě) ... měli byste být v pohodě.
Od _id vždy se "vrátí" v dotazu Předpokládám, že ušetříte trochu času a přenosu dat (trochu.)
Můžete si dokonce vytvořit své _id pole, pokud byste chtěli, a všechno to pěkně zaindexuje odpověď (ne že bych to většinou nutně doporučoval.)
Viz také:Optimalizace ID objektů