SQL关键字执行顺序,优化,索引概念

Sql 优化:
  
原因:性能低,执行时间太长,等待时间太长,sql语句欠佳,连接查询,索引失效,服务器参数设置不对

编写过程:

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

解析过程:

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

sql 优化 ,主要就是在优化索引

 索引: 相当于书的目录,index 是帮助MySQL 高效获取数据的数据结构(树 b树 hash树)


 B树索引:

 小的放左 大的放右

索引的弊端:
 
1.索引本身很大,可以存放在内存/硬盘, 通常为硬盘

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

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

 

优势:提高查询效率

降低了IO使用率

降低cpu使用率 因为b树索引 本身就是一个好排序的结构

 

3层 Btree 可以存放 上百万条数据

Btree: 一般都是指B+ ,数据全部存放在叶节点中

B+ 树 中查询任意的数据次数 n次 (B+树的高度)

索引

分类: 单值索引 唯一索引 复合索引

主键索引:不能重复,主键不能为null

单值索引: 单列 age:一个表可以多个单值索引,name。。

唯一索引:  不能重复。id  可以是null

复合索引:  多个列构成的索引 类似书的二级目录 :z ->zhao 赵    |( name ,age)

 

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

 单值索引:create index  

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

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

删除索引:
drop index 索引名 on 表名 

查询索引:
show index from 表名;
 

 

 

 

 

 

 

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值