- You should always be using either Containable or recursive=>'-1'
- Cache your queries when it's possible (when you're requesting the same data multiple times)
- Only ask for what you need using the fields parameter
- Add appropriate indexes to your MySQL database tables
Those are just some of the quickest ways to optimizes your queries. There are also ways to optimize queries using bindModel for certain requests, or restructuring your tables in certain ways, but those are very situation-specific.