两个执行效率问题 1. 同样的SQL, 有时运行很快,有时运行很慢。是为什么?2. 多表联合查询时, 表的前后顺序对查询速度是否有影响? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1. 同样的SQL, 有时运行很快,有时运行很慢。是为什么? 同一句SQL,再第二次执行的时候MySQL会直接从绶冲区拿数据,不需要再分析执行。所以速度快。你可以用 EXPLAIN语法(获取SELECT相关信息) 来查看MySQL是如何根据你的SQL语句来制定执行计划的。 2. 多表联合查询时, 表的前后顺序对查询速度是否有影响? 影响很少。理论上MySQL会根据预测的各表返回行数进行优化。但要注意是根据MySQL自己的估算,有时未必准确。 你可以通过 EXPLAIN 来查看,如果MySQL未按照最佳的方案进行,则可以用Analyze table来让MySQL重新分析一下相关的表。 如果还不行则需要用force join来强行指定顺序。总之,表的前后顺序基本上没什么影响。如果有兴趣的话,可以看一下MySQL的官方文档。估计需要阅读30-60分钟。http://dev.mysql.com/doc/refman/5.1/zh/optimization.html#query-speed7.2. 优化SELECT语句和其它查询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 NULL7.2.8. MySQL如何优化DISTINCT7.2.9. MySQL如何优化LEFT JOIN和RIGHT JOIN7.2.10. MySQL如何优化嵌套Join7.2.11. MySQL如何简化外部联合7.2.12. MySQL如何优化ORDER BY7.2.13. MySQL如何优化GROUP BY7.2.14. MySQL如何优化LIMIT7.2.15. 如何避免表扫描7.2.16. INSERT语句的速度7.2.17. UPDATE语句的速度7.2.18. DELETE语句的速度7.2.19. 其它优化技巧 1、具体情况是什么,比如连续两次运行SQL语句,第二次就比第一次快;2、如果在查询字段上建立索引,基本上没有影响。 求一个MYSQL查询语句! 特殊编码查询的问题 数据库查询语句求助! MySQL5.1.4 强制使用所用报错! 这样的sql怎么写?? 請教Postgresql使用check檢查唯一性,請大家幫幫忙 可以把mysql的数据导成sql server的吗? mysql的问题 mysqli连接问题,连接时间不稳定,偶尔需要2s 【求助】用java语言对数据库的调用 mysql 存储过程嵌套调用,在调用者中对被调用者返回的记录集进行处理,问题是如何再调用者中获得被调用者的记录集呢?临时表会不会速度太慢呢? 执行 mysql_real_query, 如果服务器忙,会不会抛出超时的异常。
你可以用 EXPLAIN语法(获取SELECT相关信息) 来查看MySQL是如何根据你的SQL语句来制定执行计划的。
如果有兴趣的话,可以看一下MySQL的官方文档。估计需要阅读30-60分钟。http://dev.mysql.com/doc/refman/5.1/zh/optimization.html#query-speed7.2. 优化SELECT语句和其它查询
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. 其它优化技巧
2、如果在查询字段上建立索引,基本上没有影响。