sql语句优化

### part1 : sql语句优化

(1) mysql 执行流程

客户端:
发送连接请求,然后发送增删改查sql语句进行执行

服务端:
1.连接层:提供和客户端连接的服务,在tcp协议下,
提供多线程并发的技术,让多个用户登录到mysql中.
show processlist; 查看所有登录到mysql的用户进程

2.服务器:
	提供了各种接口(增删改查..)分析器组件会解析用户的sql语句
	如果发现sql语句执行效率较低,会提交给优化器组件进行优化,然后在执行
	(查询缓存:把上次搜过的数据,或者提前存储的数据直接返回,效率加快)
	(优化器:mysql query optimizer )
3.存储引擎:
	存储或者提取数据
	innodb : 支持事务处理,支持行锁,支持高并发
	myisam : 支持表锁,不支持高并发
	
4.日志文件
	产生binlog日志 (二进制文件)

“”"

了解:

create table ceshi_table1(
id int primary key auto_increment,
name varchar(255)
)engine = myisam auto_increment=3 charset=utf8;
“”"

(2) sql 卡顿原因

硬盘读写数据,io延迟高,sql语句性能低,导致sql执行的时间漫长
表中的数据没有任何索引,并且数据量较大,也会造成sql语句查询速度慢
	select ... from .. join on where .. group by ... having .. order by .. limit

解析:
from .. join on  where group by having  select  order by limit .. 

索引

在这里插入图片描述

# 索引(index)概念:
	是一个树状的数据结构,即(B树结构,分支节点>2)
	相当于字典的目录,功效是加快查询速度
	常用树:B树(banlance-tree),二叉树,红黑树,hash树
	
# 树节点概念:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值