-
7.2.1. EXPLAIN语法(获取SELECT相关信息)
- 7.2.2. 估计查询性能
- 7.2.3. SELECT查询的速度
-
7.2.4. MySQL怎样优化WHERE子句
- 7.2.5. 范围优化
- 7.2.6. 索引合并优化
-
7.2.7. MySQL如何优化IS NULL
-
7.2.8. MySQL如何优化DISTINCT
- 7.2.9. MySQL如何优化LEFT JOIN和RIGHT JOIN
- 7.2.10. MySQL如何优化嵌套Join
- 7.2.11. MySQL如何简化外部联合
-
7.2.12. MySQL如何优化ORDER BY
-
7.2.13. MySQL如何优化GROUP BY
-
7.2.14. MySQL如何优化LIMIT
- 7.2.15. 如何避免表扫描
- 7.2.16. INSERT语句的速度
- 7.2.17. UPDATE语句的速度
- 7.2.18. DELETE语句的速度
- 7.2.19. 其它优化技巧
首先,影响所有语句的一个因素是:你的许可设置得越复杂,所需要的开销越多。
执行GRANT语句时使用简单的许可,当客户执行语句时,可以使MySQL降低许可检查开销。例如,如果未授予任何表级或列级权限,服务器不需要检查tables_priv和columns_priv表的内容。同样地,如果不对任何 账户进行限制,服务器不需要对资源进行统计。如果查询量很高,可以花一些时间使用简化的授权结构来降低许可检查开销。
如果你的问题是与具体MySQL表达式或函数有关,可以使用mysql客户程序所带的BENCHMARK()函数执行定时测试。其语法为BENCHMARK(loop_count,expression)。例如:
mysql> SELECT BENCHMARK(1000000,1+1);
+------------------------+
| BENCHMARK(1000000,1+1) |
+------------------------+
| 0 |
+------------------------+
1 row in set (0.32 sec)
上面结果在PentiumII 400MHz系统上获得。它显示MySQL在该系统上在0.32秒内可以执行1,000,000个简单的+表达式运算。
所有MySQL函数应该被高度优化,但是总有可能有一些例外。BENCHMARK()是一个找出是否查询有问题的优秀的工具。