Below is what I usually think.
・Reduce number with base search
・Specify the time range. As narrow as possible
・Be sure to specify the index
・Do not use wildcard search.
XXX⇒ If you can not stand it
・Do not use NOT (!=)
・Transaction / join-sub search Do not use .Use stats command.
・Reduce the field used by the fields command early.
@abhi04, there could be so many things to consider. Could you state what you are doing right now that needs optimization so that we could be more specific?
Just to add on to @HitoshiSatoh 's points here are the Splunk Documentations for you to read/understand and implement:
1) Post Processing Best Practice: http://docs.splunk.com/Documentation/SplunkCloud/latest/Viz/Savedsearches#Best_practices
2) Quick Tips for Search Query Optimization: https://docs.splunk.com/Documentation/Splunk/latest/Search/Quicktipsforoptimization
3) Optimize your lookup search: http://docs.splunk.com/Documentation/Splunk/latest/SearchReference/Lookup#Optimizing_your_lookup_sea...
4) Event Correlation method consideration: http://docs.splunk.com/Documentation/Splunk/latest/Search/Abouteventcorrelation
5) Use of multisearch to overcome subsearch limitation: https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/Multisearch#Subsearch_processing...
6) Use Knowledge Objects for easier maintenance and re-usability of code: http://docs.splunk.com/Documentation/Splunk/latest/Knowledge/WhatisSplunkknowledge
7) Use of Data Summary for accelerated Search: http://docs.splunk.com/Documentation/Splunk/latest/Knowledge/Aboutsummaryindexing
I asked in a general way and not specific. Thanks for sharing this information,this helps.