How do you ensure data integrity and optimize query performance when working with large-scale databases?