
连接层:
connection pool(连接池)
原理:预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从‘缓冲池’中取出一个,使用完毕之后在放回去
作用:进行身份验证、线程重用、连接限制、检查内存、数据缓存、管理用户的连接、线程处理等需要缓存的需求
查看当前数据库的最大连接数限制:

查看当前用户的最大连接数限制:(为0即不限制该用户的资源)

SQL层:
管理服务和工具组件
作用:从备份和恢复的安全性、复制、集群、管理、配置、迁移和元数据等方面管理数据库
SQL接口组件
作用:进行DML、DDL、存储过程、视图、触发器等操作和管理,用户SQL命令接口
解析器组件
作用:验证和解析SQL命令
查询优化器组件
作用:对SQL语句查询进行优化(‘选取、投影和连接’)
缓存和缓冲区
作用:由一系列小缓存组成的。如表缓存,记录缓存,key缓存,权限缓存等
查看mysql的缓存信息


Qcache_free_blocks |1 | 缓存空闲的内存块
Qcache_free_memory |1031832 |在query_cache_size设置的缓存中的空闲的内存
Qcache_hits | 0 | 缓存的命中次数
Qcache_inserts | 0 | 查询缓存区此前总共缓存过多少条查询命令的结果
Qcache_lowmem_prunes | 0 | 查询缓存区已满而从其中溢出和删除的查询结果的个数
Qcache_not_cached |439808049 |
Qcache_queries_in_cache | 0 |
Qcache_total_blocks | 1 | 缓存总的内存块
插件式存储引擎:
mysql中数据都是使用不同的技术存储在文件或者内存中,不同的技术就有不同的存储机制,索引技巧和锁定水平,最终提供不同的功能和能力,这些不同的技术以及配套的相关功能在mysql中就称为存储引擎
myisam
查询速度快,有较好的索引优化和数据压缩技术。但是它不支持事务
innodb
支持事务,并且提供行级的锁定,应用很广泛
memory
适合存储临时数据
archive
适合存储历史数据,压缩比高且无损压缩
物理文件层:
支持的文件格式:ext3、ext4、ntfs、nfs
文件内容:数据文件、日志文件、配置文件、其他文件
译者介绍:家华,从事mysqlDBA的工作,记录自己对mysql的一些总结