[b]1. 通过show status 和 应用特点了解各种 SQL 的执行频率[/b]
[img]http://dl2.iteye.com/upload/attachment/0131/0215/8d7ef43b-16f1-3291-a83a-cae79ec7334a.png[/img]
[b]2.定位执行效率较低的 SQL 语句[/b]
1) 可以通过慢查询日志定位那些执行效率较低的 SQL 语句, 用--log-slow-queries[=file_name]选项启动时,mysqld写一个包含所有执行时间超时long_query_time秒的SQL语句的日志文件。
2)慢查询日志在查询结束以后才记录,所以在应用反映执行效率出问题的时候查询慢查询日志并不能定位问题,可以使用 show processlist 命令查看当前 MySQL 在进行的线程,包括线程的状态,是否锁表等等,可以实时的查看SQL执行情况,同时对一些锁表操作进行优化。
[b]3. 通过 EXPLAIN 分析低效 SQL 的执行计划[/b]
[b]4. MySQL 如何使用索引[/b]
查询要使用索引最主要的条件是查询条件中需要使用索引关键字,如果是多列索引,那么只有查询条件使用了多列关键字最左边的前缀时,才可以使用索引,否则将不能使用索引。
待续........
[img]http://dl2.iteye.com/upload/attachment/0131/0215/8d7ef43b-16f1-3291-a83a-cae79ec7334a.png[/img]
[b]2.定位执行效率较低的 SQL 语句[/b]
1) 可以通过慢查询日志定位那些执行效率较低的 SQL 语句, 用--log-slow-queries[=file_name]选项启动时,mysqld写一个包含所有执行时间超时long_query_time秒的SQL语句的日志文件。
2)慢查询日志在查询结束以后才记录,所以在应用反映执行效率出问题的时候查询慢查询日志并不能定位问题,可以使用 show processlist 命令查看当前 MySQL 在进行的线程,包括线程的状态,是否锁表等等,可以实时的查看SQL执行情况,同时对一些锁表操作进行优化。
[b]3. 通过 EXPLAIN 分析低效 SQL 的执行计划[/b]
[b]4. MySQL 如何使用索引[/b]
查询要使用索引最主要的条件是查询条件中需要使用索引关键字,如果是多列索引,那么只有查询条件使用了多列关键字最左边的前缀时,才可以使用索引,否则将不能使用索引。
待续........