您的位置:首页 > 数据库 > MySQL

MySQL查询优化之概述

2015-03-05 21:22 239 查看
1、加快select语句执行速度的最有效的办法是:在where条件中被使用的列上,建立必要的索引,尤其是当列被用作外键关系时、多个表的join查询时

可以使用explain查询SQL优化器使用了哪些索引。

当然,索引建立过度,在只能小幅度的提升性能的同时,会浪费大量磁盘空间,得不偿失。

通常情况下要针对那些被执行次数非常多的,或者速度特别慢的那些SQL进行调优。

2、将查询SQL切割成各个独立的部分,比如函数调用,对这些独立的部分进行调优,可以提高性能

3、尽量避免全表扫描,尤其是当表的数据量特别大的时候

4、经常使用analyze table语句,以更新mysql对表的统计信息,利于MYSQL优化器做出正确的执行计划

5、多了解一些调优技术,以及存储引擎上与性能相关的一些参数的作用

6、innodb的只读事务,可以避免一些不必要的开销,从而提供性能

7、避免为了提高性能而将SQL语句改写成难以读懂的形式,尤其是当这些改写,查询优化器会自动实现的时候

8、当一些基本的规则仍然不够调优你的SQL时,请使用explain来分析执行计划,调整索引、where条件或者join等等

9、调整MYSQL用来做缓冲的内存大小,比如innodb buffer pool

10、即使因为大的内存能保证SQL执行的比较快,也要尽可能的调优你的SQL,这样能够在并发规模上去的时候,依然使你的应用程序保持健壮和稳定

11、处理好锁等待(死锁)的问题,有些SQL本身可以飞快的执行,但是由于资源竞争的问题,其他会话可能一直锁住资源不释放,导致该飞起来的SQL飞不了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: