MySQL数据库的原理--简版

来源:互联网 发布:全国姓名数据库 编辑:程序博客网 时间:2024/05/01 10:25

首先要了解原理。不得不说说。MySQL的执行流程。

MySQL是一个单进程的服务,对于每一个请求都是用线程来响应的。这就需要一个连接器来处理新用户的请求、响应以及销毁。

        1.客户端请求,服务端(连接器)开启线程响应用户

        2.用户发起SQL语句查询数据库

        3.查询缓存:记录用户的SQL查询语句。如果查询同样内容,就返回缓存。

        4.如果缓存中没有对应的结果,则进入分析器。(分析器也可能借鉴缓存)

    不得不说说:

        语法分析器。用户命令语法是否正确。将用户的命令进行切片,一个词一个词用空格隔开,获得用户要查询的表、内容、权限等。

        5.优化:执行路径的选择,生成执行树。每一个SQL语句都有很多执行路径。优化的目的就是在这些执行路径里面,选择一个最优的执行路径。

        6.存储引擎:用于管理存储在文件系统或是裸设备上的数据管理程序。它本身给上层应用提供不同的管理,有的支持事务,有的不支持事务。

我们在来了解一下数据库的对象

        逻辑对象:表,索引,视图,触发器,存储过程,存储函数,时间调度器,游标,用户。

        物理对象:数据管理组件(也可称为元数据),存储引擎,存储为物理文件。

数据库管理系统的基本功能:

     管理存储,安全管理,元数据管理,事务管理,ACID(原子性,一致性,隔离性,持久性),连接管理,性能优化,备份和还原机制,相应数据查询/修改请求。

存储引擎:将数据存储下来的中间层

      MyISAM,InnoDB,NDB,Archive,Federated,Memory,Merge,Partner,Community,Custom

      rawdevice:裸设备,没有格式化。


0 0
原创粉丝点击