1、基本体系结构
- 第一层:服务层(为客户端服务):为请求做连接处理,授权认证,安全等。
- 第二层:Mysql核心服务层:主要提供,查询解析、分析、优化、缓存以及内置函数,跨存储引擎功能(存储过程、视图、触发器)
- 第三层:存储引擎层,负责数据的存储和提取
逻辑架构图:

SQL执行逻辑流程:
2、优化
1,运维运行环境优化
内存优化:
innodb_buffer_pool_size = innodb_buffer_pool_instances * innodb_buffer_pool_chunk_size * innodb_buffer_amount_chunks_per_instance
a:innodb_buffer_pool_size = 16G # (adjust value here, 50%-70% of total RAM)
b:innodb_buffer_pool_instances = 16
c:innodb_buffer_pool_chunk_size = 256M
x:chunk数量
a/(x*c)=b
参考资料:https://www.percona.com/blog/2018/06/19/chunk-change-innodb-buffer-pool-resizing/
2,研发侧优化
SQL优化:
#定位top耗时长的前N条sql:SELECT EVENT_ID, TRUNCATE(TIMER_WAIT/1000000000000,6) as Duration, SQL_TEXT FROM performance_schema.events_statements_history_long order by Duration desc limit 5;#根据对应的top5耗时长的sql的event_id查看该sql具体耗时在哪个地方:SELECT event_name AS Stage, TRUNCATE(TIMER_WAIT/1000000000000,6) AS Duration FROM performance_schema.events_stages_history_long WHERE NESTING_EVENT_ID=1436;
3,误删数据处理
MySQL 相关的误删数据,分类:
- 使用delete语句删除数据行;
- 使用drop table或者truncate tab语句误删数据表;
- 使用drop database语句删除数据库;
- 使用rm命令删除整个MySQL实例;
Flashback
