Indexes - Create them for every variation of query or when fetching is slow?

Hello,

I’ve been migrating an already in production application in the past week and I would like to know what would be the best approach.

Do you usually create an index for every single query variation that you create? Or just when data fetching starts becoming slow?

Another related question is regarding the creation of these indexes. I’ve thought eventually try to auto-create indexes, and if they already exists, an exception would be thrown (like it occurs in some examples in Couchbase Docs). However wouldn’t that be one more operation that should be avoided?

Thanks!