首页 > 编程知识 正文

mysql实例和数据库的关系,数据库系统原理及MySQL应用教程

时间:2023-05-06 00:28:42 阅读:47519 作者:164

常规程序执行过程:

5、处理数据,按ctl s保存后关闭窗口,即可释放内存中的数据。 好的程序有数据回收策略,不会永久驻留在内存中

要运行MySQL数据库实例,请执行以下操作:

mysql服务器配置:

1、程序加载内存,申请空间运行

2、将数据加载到内存中,程序处理文件,处理数据后,将数据存储在硬盘上

3、内存释放,程序回收垃圾

画画说明:

1、将MySQLd守护进程的程序块先加载到内存中,然后申请可用空间执行,

2、将ibd数据文件加载到内存中:保存数据库和表

3、mysqld处理ibd数据

4、将idb数据文件写入磁盘并永久化

5、程序不退出。 因为程序经常使用数据库,所以在这里,如果office使用了它,就不会关闭它

请避免重复申请内存区域。 这里直接使用守护程序,一直在内存中。 使用则调用,不使用则休息等待程序被调用

适合程序频繁调用的模式

6、实例:

mysqld主进程不直接参与数据处理,而是主线程

MySQL进程的线程结构

mysqld---- masterthread---manager---- ' worker ' thread

(读取读写线程)

“办公室区域()提前保留的长期)------提前分配内存的机制

MySQL启动过程:

1 .启动后台守护程序并生成工作线程

2、mysql预先分配内存结构以处理数据

mysqld许多thread预先分配的内存结构=实例

mysqld服务程序配置:

mysqld体系结构

一个SQL语句的执行过程? select user,host,password from mysql.user;

连接层【与用户的交互】

1、客户端开始数据库连接。

mysql

2、连接请求到达连接层,验证用户、密码的合法性。

select user,host,password from mysql.user;

3、连接层接受用户的SQL,分配交互专用线程;

show [全]流程列表;

**

连接层无法处理数据。 必须传递给sql层

SQL层功能

4、连接层线程继续处理SQL传输SQL层

5、SQL层接受SQL语句,语法解释器验证语法

6、语义验证器检测语句类型(DDL、DML、DCL、DQL ),根据类型传递给相应的解析器继续处理

7、解析器接收SQL,进行解析,解析执行计划

8、优化器根据成本算法找到成本最低的执行计划【索引优化、sql优化】

9 .执行机构根据最佳语句执行计划执行和获取数据的方法、

方法将TP传递到下一层继续处理【扇区、轨道】

10、各sql的分析如此复杂,提供查询缓存,使前一句的结果为【句的sqlid】。

11、记录日志(默认情况下未打开) )。

存储引擎分层结构:

12、根据SQL提供的数据获取方法,在对应的盘位置获取数据即可。

13 .将二进制或十六进制数据结构化为表的形式,并通过连接线程返回给用户

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。