MySQL整个查询执行过程与优化,引擎间的区别

MySQL整个查询执行过程

1.客户端向MySQL服务器发送一条查询请求
2.服务器首先先检查查询缓存,如果命中缓存,则立刻返回存储在缓存中的结果。否则进入下一级段
3.服务器进行SQL解析、预处理、再由优化器生成对应的执行计划
4.MySQL根据执行计划,调用存储引擎的API来执行查询
5.将结果返回给客户端,同时缓存查询结果

数据库的优化

1,优化索引、SQL语句、分析慢查询
2,设计表的时候严格根据数据库的设计范式来设计数据库
3,使用缓存,把经常访问到的数据而且不需要经常变化的数据放到缓存中,能节约磁盘的IO
4,优化硬件,采用SSD,使用磁盘队列技术
5、采用mysql内部自带的表分区技术,把数据分层不同的文件,能够提高磁盘的读取效率
6,垂直分表,把不经常读的数据放到一张表里,节约磁盘IO
7,主从分离读写,采用主从复制把数据库的读操作和写入操作分离开来
8,分库分表分机器(数据量特别大),主要的原理就是数据路由
9,选择合适的引擎
10,进行架构级别的缓存,静态化和分布式
11,不采用全文索引
12,采用更快的存储方式,例如NoSql存储经常访问的数据

数据库引擎的选择:

MyISAM:不支持事务,不支持外键,支持索引,默认引擎		适用查询,插入为主的应用
InnoDB:支持事务,支持外键,不支持索引,非默认引擎		适用更改,涉及到安全性的应用

你可能感兴趣的:(python)