欢迎来到258分享网,纯净的网络源码分享基地!

258资源分享网

全部作品
全部作品
网站源码
微信源码
素材特效
源码插件
视频教程
建站学院
热门搜索: 织梦  农业种植  农业  安全设置  官方
258资源分享 > 建站学院 > MYSQL教程 > MYSQL实战-1.mysql基本架构

推荐下载

HTML5响应式自适应网咯设计

2020-05-12   浏览:736

高端HTML5响应式企业通用网

2020-05-06   浏览:518

html5响应式外贸网站英文版

2020-05-08   浏览:505

HTML5自适应律师工作室类网

2020-04-04   浏览:501

HTML5影视传媒文化公司类网

2020-05-12   浏览:495

MYSQL实战-1.mysql基本架构

发布时间:2021-05-09  

MYSQL实战-1.mysql基本架构

1、mysql可分为server层和存储引擎 1.1 server层: 连接器、查询缓存、分析器、优化器 、执行器、包含所有内置函数(日期,时间,数学、加密函数),所有跨存储引擎的功能都在此层,比如存储过程、触发器、视图等 1.1.1 连接器: 负责跟客户端建立连接、获取权限、维持和管理连接 mysql -h$host -P$port -u$user -p$password 备注: a、sleep状态是连接完成,但没有后续操作,此连接就会处于空闲状态; b、如果在连接过程中对当前用户的权限做了修改,也需要在断开重新连接之后此权限才生效; c、长连接与短连接:长连接使用过多会出现mysql内存占用过高导致mysql异常重启的情况,解决方法可以是:定期断开长连接,5.7及以上,则可以通过mysql_reset_connection来重新初始化连接缓存,这个过程不会重连和重新做权限验证,但会恢复到刚刚创建完的状态; 1.1.2 查询缓存: a. 建立连接之后便会去查询缓存,缓存会以key-value对的形式保存,key是查询语句,value是查询结果。若查询命中缓存,则不需要后续复杂的逻辑。 b. 但查询缓存的失效特别频繁,只要有对一个表的更新,那么此表的缓存就会全部清空,因此不建议使用查询缓存。除非是表的数据变动频率不高的,如系统配置表 c.5.8.0已完全将查询缓存模块删掉 1.1.3 分析器:内建解析树,数据表和数据列是否存在, 别名是否有歧义,如果通过建立一个新的解析树,再提交给优化器 a.词法分析、语法分析 1.1.4 优化器 优化器决定最优sql执行顺序,如最优索引,join表的顺序等 1.1.5 执行器 查询对当前表是否有执行权限,若有权限,打开表,根据表引擎接口执行sql 1.2 存储引擎负责数据的存储和提取,包含InnoDB,MyISAM,Memry等,mysql5.5.5版本以上默认InnoDB 备注: 1、wait_timeout针对非交互式连接; interaction_timeout针对交互式连接; 通过mysql客户端连接数据库是交互式连接,通过jdbc连接数据库是非交互式连接; 2、执行完成后写入缓存 问题: 1、为什么对权限的检查不在优化器之前做? 答:触发器是在执行器阶段确定的 2、我创建了一个没有select权限的用户,执行select * from T where k=1,报错“select command denied”,并没有报错“unknown column”,是不是可以说明是在打开表之后才判断读取的列不存在? 答:这是一个安全问题,当既没有查询权限,where条件的字段不存在时,未避免泄露太多信心,会直接判断无权限 3、分析器到查询缓存的那个箭头表示什么意思? 答:更新完回来失效缓存; 4、基本架构图中,分析器指向了查询缓存,是这时候把KEY放入缓存的吗?执行器不指向缓存Value是什么时候放入缓存的? 答:其实执行完会写入,避免图乱,箭头去掉了,文中:执行完成后,结果写入查询缓存;

本文标签

:备案管家服务帮您把复杂流程变简单,解决您在进行网站备案过程中遇到的效率低下和成功率不高的问题。个人300/2个域名,企业500/5个域名,qq1650004.