Next.js Data Fetching: How to Optimize for Best Performance