0

I got a Collection with following structre

_id : 641c2844904d1c6a6e8985a6
PortalId:123,
ContactId :1,
SelectionId:1,
SelectionName:"TEST",
SelectionCategory:"cat",
SelectionCategoryId:1,
DateCreated:2023-03-23T10:21:55.578+00:00
CreatedBy: "test"

I have to query against this collection based on various scenarios

Sometimes query against just 1 filter PortalId

Sometimes query against just 1 filter ContactId

Sometimes query against 1 filter SelectionId

Sometimes query against 2 filtes ContactId & SelectionId

Is it recommended to create a single compound index with columns ContactId & SelectionId and 1 index for PortalId or 3 individual index seperatly [ PortalId , ContactId & SelectionId ]

Will the the read performance affect much if we are creating just the compound index as the size of data grows?

Sebastian
  • 4,625
  • 17
  • 76
  • 145

1 Answers1

0

Yes, you can create a single compound index with columns ContactId & SelectionId and 1 index for PortalId. This is because a compound index can be used to satisfy queries on multiple fields as well as single fields, while individual indexes can only be used to satisfy queries on a single field.

For read performance in large datasets, it is recommended to create a compound index instead of individual index as that will take up more space.

Lastly, is your application write intensive or read intensive as updating documents frequently will create load on your system with compound index.

Tarun Gaur
  • 53
  • 5
  • 1
    In my case application is read intensive only , Write is very occasional So i am planning to go ahead with compound index – Sebastian May 18 '23 at 09:18