select uid,name from user where gender=1; 选取--》投影--》联接 策略 1)select
先根据 where 语句进行选取,并不是查询出全部数据再过滤 2)select 查询根据 uid 和
name 进行属性投影,并不是取出所有字段 3)将前面选取和投影联接起来最终生成查询
结果
缓存(Cache&Buffer):缓存机制是由一系列小缓存组成的。比如表缓存,记录缓存,权限缓 存,引擎
缓存等。如果查询缓存有命中的查询结果,查询语句就可以直接去查询缓存中取数据。
1.3 存储引擎层(Pluggable Storage Engines)
存储引擎负责 MySQL 中数据的存储与提取,与底层系统文件进行交互。MySQL 存储引擎是插件式的,服
务器中的查询执行引擎通过接口与存储引擎进行通信,接口屏蔽了不同存储引擎之间的差异 。现在有很多
种存储引擎,各有各的特点,最常见的是 MyISAM 和 InnoDB。
1.4 系统文件层(File System)
该层负责将数据库的数据和日志存储在文件系统之上,并完成与存储引擎的交互,是文件的物理存储层。
主要包含日志文件,数据文件,配置文件,pid 文件,socket 文件等。
日志文件
o
错误日志(Error log)默认开启,show variables like '%log_error%'
o
o
通用查询日志(General query log)记录一般查询语句,show variables like '%general%';
o
o
二进制日志(binary log) 记录了对 MySQL 数据库执行的更改操作,并且记录了语句的发生时间、执行
时长;但是它不记录 select、show 等不修改数据库的 SQL。主要用于数据库恢复和主从复制。 show
variables like '%log_bin%'; //是否开启 show variables like '%binlog%'; //参数查看 show binary logs;//查
看日志文件
o
o
慢查询日志(Slow query log) 记录所有执行时间超时的查询 SQL,默认是 10 秒。 show variables like
'%slow_query%'; //是否开启 show variables like '%long_query_time%'; //时长
o
配置文件 用于存放 MySQL 所有的配置信息文件,比如 my.cnf、my.ini 等。
评论