zoukankan      html  css  js  c++  java
  • MySQL架构与引擎初识

    一、MySQL逻辑架构

      

    1、连接层:

      最上层是一些客户端和连接服务,所包含的服务并不是MySQL所独有的技术。它们都是服务于C/S程序或者是这些程序所需要的 :连接处理,身份验证,安全性等等。

    2、服务层:

      主要完成大多数的核心服务功能,如SQL 接口,并完成缓存的查询,SQL 的分析和优化及部分内置函数的执行。所有跨存储引擎的功能也在这一层上实现,如存储过程、触发器,视图等。在该层,服务器会解析并创建相应的内部数据结构(解析树),并完成相应的优化如重写查询、决定表的读取的顺序,选择合适的索引等,最后生成对应的执行操作。如果是select 语句,服务器还会先检查查询缓存(Query Cache),如果能够在其中找到对应的查询,服务器就不必再执行查询解析、优化和执行整个过程,而是直接返回查询缓存中的结果集。如果缓存空间足够大,这样在解决大量读操作的环境中能够很好的提升系统的性能。

    3、引擎层:

      在存储引擎层,存储引擎真正的负责了MySql 中数据的存储和提取,服务器通过API 与存储引擎进行通信。这些接口屏蔽了不同存储引擎之间的差异,使得这些差异对上层的查询过程透明。存储引擎不会去解析SQL(InnoDB是一个例外,它会解析外键定义,因为MySQL服务器本身没有实现该功能),不同存储引擎之间也不会相互通信,而只是简单地响应上层服务器的请求。

    4、存储层: 

      数据存储层,主要将数据存储在运行于裸设备上的文件系统上,并完成与存储引擎的交互。

    二、存储引擎

      1、查看当前mysql支持的引擎

    #查看当前mysql支持的引擎
    SHOW ENGINES;

      

      2、查看当前mysql默认的存储引擎

    #查看当前mysql默认的存储引擎
    SHOW VARIABLES LIKE '%storage_engine%';  

      

      3、InnoDB引擎是mysql5.7的默认引擎,支持事务、行级锁定和外键。还有一个使用率较高的是MyISAM,两者对比如下:

      

  • 相关阅读:
    JS 变量的作用域
    清理网站缓存的几种方法
    C# 将程序添加到启动项 (写入注册表),及从启动项中删除
    EasyUI iconCls
    JQuery Easy Ui dataGrid 数据表格
    datatable转换为json
    Web window.print() 打印
    用js使得输入框input只能输入数字
    隐藏或删除指定的html元素
    使用Asponse.Cell解决Excel科学计数法问题
  • 原文地址:https://www.cnblogs.com/caofanqi/p/10761419.html
Copyright © 2011-2022 走看看