一、MySQL基本逻辑结构
注:用户权限修改后需要重新建立连接才能生效。
二、SQL连接
数据库与连接管理对象多有对应权限,连接后修改权限无效,需重新建立连接。
三、MySQL分层
- Server层:连接器、查询缓存、分析器、优化器、执行器
1.1 内置函数:日期,时间,数字,加密函数等。
1.2 跨存储引擎功能:存储过程,触发器,视图等 - 存储引擎(默认):5.5.5版本之后默认Innodb,之前默认MYISM
四、MySQL缓存机制
缓存存储查询语句与查询结果,存储格式为key-value,在执行查询语句会优先查询缓存,若存在则不走词法分析,但是如果数据库数据发生改变,那么查询的结果也会发生改变,需要频繁更新缓存value值。这样效率反而不如直接走词法分析路线。
- 数据形式key-value
- 5.7版本后删除
- 适合读多写少的情况
- 开启需要在my.cnf中配置query_cache_type参数(0,1,2)
- 按需使用换粗:select SQL_CAHE * FROM TEST;
- 查看缓存运行状态:show status like ‘%Qcache%’;
五、日志模块
- BinLog 归档日志(逻辑日志),理解为记录执行语句。
- RedoLog 重做日志(物理日志),理解为记录结果,实现事务持久存储
六、四大特性
- 原子性:要么全做要么全不做。
- 隔离性:不同事务之间相互独立,互不干扰。
- 一致性:同一事务,多次读取同一数据库同一数据应该一致。
- 持久性:事务提交后,数据将永久保存在数据库中。