1.查询优化,索引优化和架构优化三者相辅相成。(数据库架构是获得高性能的必要条件,但如果查询设计得不好,即便是最好的架构页无法获得高性能。)
2.查询性能低下的最基本的原因就是访问了太多的数据。
3.要对使用 SELECT *始终持怀疑态度。真的需要所有的列吗?也许不是。获取所有列将会造成覆盖索引(Covering Index)这样的优化手段失效,也会增加磁盘I/O,内存和CPU的开销。
4.在MySQL中,最简单的开销指标(Cost Metrics)有:1.执行时间 2.检查的行数 3. 返回的行数。它们都不是衡量开销的完美指标,但是它们大致反映了MySQL在内部执行查询的时候要访问多少数据,而且也大致说明了查询的时间。这3个指标都被写入了慢速查询日志(Slow Query Log),所以浏览该日志是检索查找了过多数据的查询的最佳方式。