What are different approaches to query optimization in NoSQL DB?