MySQL高级学习一

高并发,高性能,高可用概念

高并发:同时处理的事务数高
高性能:事务/sql执行速度快
高可用:系统可用时间高

如何实现高并发,高性能,高可用

高并发:通过复制和扩展,将数据分散至多个节点
高性能:复制提升速度,扩展提升容量
高可用:节点间身份切换保证随时可用

实现高并发,高性能,高可用手段

主要手段:复制,扩展,切换

手段复制扩展切换
目的数据冗余扩展数据库容量提高可用性
方法binlog传送数据分片,分库,分表binlog主从身份切换
优点并发量提升、可用性提升性能、并发量的提升性能、并发量的提升
缺点占用更多的硬件资源可能降低可用性丢失切换时期的数据

如何提升单点性能

建表:表结构合理,索引高效。
查询:优化SQL语句,选择正确索引
更新:正确的使用锁,合理优化事务

MySQL软件架构

MySQL软件架构

MySQL服务端三层架构

可分为连接层、SQL层、存储层在这里插入图片描述

MySQL常见的四种存储引擎

InnoDB:MySQL5.5.5之后的默认存储引擎,支持事务,外键,支持崩溃修复能力和并发控制,适合各种互联网业务
MyISAM:MySQL5.5.5之前的默认存储引擎,插入数据库,空间利用率高,适合对查询效率要求非常高的需求
Memory:所有数据都在内存,速度快,但是数据安全性差(本身还是一张表),适合做临时表(不需要持久化的场景)
Archive:数据压缩,空间利用率高,插入速度较快(没有并发控制和log),不支持索引,查询性能差。适合日志信息归档

SQL语句执行过程

在启用缓存的情况下,连接器监听客户端请求并将客户端指令转发给缓存(之前执行过的语句会以key=>value的形式存在缓存中,key是SQL语句,value是执行结果。缓存缺点:数据表修改后,会删除所有相关缓存,MySQL8.0以后无缓存功能),查询缓存有无执行过的相同语句,没有查询到,连接器将客户端指令转发给分析器,分析器做词法分析(识别SQL关键字)和句法分析(判断是否符合SQL语法)。分析后,优化器决定要怎么处理(类似指定计划),如:索引使用。执行器校验权限,调用SQL(先校验用户对目标数据有无权限,然后以行为粒度,调用存储引擎,执行SQL,注:没有索引的情况下,执行器会循环查询所有行)。存储引擎将执行器指令落实到数据文件上。未开启缓存情况下,连接器请求分析器。SQL语句是按照分析-优化-执行-落盘步骤执行的。
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值