温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

MySql的Sql优化方法是什么

发布时间:2021-12-04 14:13:55 来源:亿速云 阅读:141 作者:iii 栏目:大数据

本篇内容主要讲解“MySql的Sql优化方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySql的Sql优化方法是什么”吧!

1.  Sql优化

原因:性能低、执行时间太长、等待时间太长、SQL语句欠佳(连接查询)、索引失效、服务器参数设置不合理(缓冲、线程数)

过程:

select .. from .. join .. on .. where .. group by .. having .. order by .. limit .

解析:

from .. join .. on .. where .. group by .. having .. select ..order by limit

sql优化,主要是优化索引

1) 索引的弊端:

   1. 索引本身很大

   2. 索引不是所有情况均使用:a.少量数据 b.频繁更新的字段 c. 很少使用的字段

   3. 索引会降低增删改的效率

2) 索引的优势:

   1. 提高查询效率(降低IO使用率)

   2. 降低CPU的使用率(例如:...order by age desc...,因为B+ Tree本身是排好序的结构,因此在排序时可以直接使用)

3) 索引的分类:

   1. 主键索引:不能重复,id  不能为Null

   2. 唯一索引:不能重复,id  可以为Null

   3. 单值索引:单列,age;一个表可以有多个单值索引,name

   4. 复合索引:多个列构成的索引(相当于二级目录)

4) 创建索引:

   方式一:create 索引类型 索引名 on 表(字段)

   1. 单值索引:

       create index dept_index on tb(dept);

   2. 唯一索引:

       create unique index name_index tb(name);

   3. 复合索引:

       create index dept_name_index on tb(dept, name);

   方式二:alter table 表名 add 索引类型 索引名(字段)

   1. 单值索引:

       alter table tb  add  index dept_index(dept);

   2. 唯一索引:

       alter table tb  add  unique index name_index(name);

   3. 复合索引

       alter table tb  add  index dept_name_index(dept, name);

注意:如果一个字段是primary key,则该字段默认就是主键索引

5) 删除索引:

drop index 索引名 on 表名;

drop index name_index on tb;

6) 查询索引:

show index from tb;

7) SQL性能问题

a. 分析SQL的执行计划:explain ,可以模拟SQL优化器执行SQL语句

b. MySql查询优化其会干扰我们的优化

到此,相信大家对“MySql的Sql优化方法是什么”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI