MySQL 性能调优:
-
主要表现:
1. 执行时间长。
2. 等待时间长。 -
优化方向:
1. 查询语句写的烂
2.索引失效,索引包括单索引和符合索引,优化where 条件之后字段
3.关联查询太多join(设计缺陷和或不得已的需求)
4. 服务器调优几各个参数设置(缓冲和线程数等) -
查询
手写:Select * From table where xx group by xxx having xxx order by xxx limit
机读:From xx where xx group by xxx having xx select distinct xxx order by xx limit xxx
索引是一种排好序的快速查找的数据结构,索引是排好序和快速查找作用。
-
什么情况下需要建索引?
a. 主键自动建立唯一索引
b. 频繁作为查询条件的字段需要创建索引
c. 查询中与其他表关联的字段,外键关系建立索引
d. 频繁更新的字段不是个建立索引
e. where 条件里用不到的不要建索引
f. 尽量建立组合索引而非单键索引
g. 查询中排序的字段需要创建索引,排序字段通过建立索引可以大大的提高排序的效率。
h. 查询中统计或者分组字段。 -
什么情况不要建索引?
a. 表太少不需要建索引,一般情况300w左右就考虑索引的优化了
b. 经常增删改的表
c. 数据重复且分布平均的字段不适合建索引。 -
Mysql 瓶颈:
a. CPU 负担重饱&#