zoukankan      html  css  js  c++  java
  • Mysql的体系结构

     

    Mysql由以下几部分组成:

    连接池组件
    管理服务和工具组件
    SQL接口组件
    查询分析器组件
    优化器组件
    缓冲组件
    插件式引擎
    物理文件

    注意:存储引擎是基于表的,不是基于库的!

     

    Mysql的表存储引擎

     存储引擎绝对是Mysql的核心,由于存储引擎是基于表级别的,可以在一个程序中采用多种存储引擎。

     

    InnoDB存储引擎

    特点:

    支持事务

    行级别的锁

    外键

    不支持全文索引

     

    非锁定读,默认读操作不会产生锁

    表存储在.ibd文件中,数据存储方式:聚集

     

    功能:

    插入缓存

    二次写

    自适应哈希索引

    预读

     

    表的存储按照主键顺序存放,如果没有指定主键,引擎会自动为每行生成一个6字节的ROWID,以此为主键。

     

    MyISAM存储引擎

    官方推荐的引擎,不支持事务,不支持表锁,支持全文索引。

    引擎由MYD和MYI组成,MYD用来存储数据,MYI用来存储索引。

    可以使用myisampack工具对数据文件进一步压缩,但是压缩后只能读取不能写入。

    对于此引擎,Mysql数据库只负责索引的缓存,数据的缓存有操作系统来完成。

    现在采用的Mysql版本(5.0之后)支持最大256T的表数据。

     

    NDB存储引擎

    这是一个集群存储引擎,性能比Oracle的RAC好。

    数据存储在内存中,非索引数据也能存储在磁盘中。

    连接操作在数据库层完成,所以复杂查询时,速度非常慢。

     

    Memory储存引擎

    数据存储在内存中,用来存储临时表,重启或者数据库崩溃,数据全部丢失。

    只支持表锁,不支持TEXT和BLOB类型,默认采用哈希索引。

    存储varchar时会按照char方式进行,会造成内存的浪费。

    Mysql数据库采用Memory作为临时表,并将查询结果中间集存放在临时表中。

    当含有TEXT或者BLOB类型的字段,会将其数据转到Myisam存储引擎并存储到磁盘。

    但是MYISAM引擎又不缓存数据文件,所以这时的临时表,查询性能非常差。

     

    Archive存储引擎

    只支持插入和查询操作。

    数据经过压缩后才存储,非常适合存储归档数据,如日志。

    设计目标用来提供告诉的插入和查询操作。

     

    Federated存储引擎

    并不存放数据,指向远程数据库服务器上的表。

    只支持Mysql数据库表,不支持异构数据库表。

     

    Maria存储引擎

    特点:

    缓存数据和索引文件

    支持行锁

    提供MVCC功能

    支持事务

    更好的处理BLOB类型的性能

     

    其他存储引擎

    就不一一介绍了!

    mysql数据量大于1000W时,性能会有降低,但是还好,不会有大的降低。

    比较:

    提示:

    Mysql官方有非常好用的示例数据库,可以用来练习和测试。

    地址:https://github.com/datacharmer/test_db

    导入命令行

    mysql -uroot -pxxx < employees.sql

    Mysql的连接

    本质是连接进程和数据库实例之间的通信。

    常用的进程间通信的方式有:管道、命名管道、命名字、TCP/IP套接字、Unix域名套接字、消息队列、信号等。

    TCP/IP连接

    大多数都是采用这种方式,如果想远程连接,确保用户有相应的权限。

    命名管道和共享内存

    只能在本地连接时使用。

    在配置文件增加参数

    enable-named-pipe

    共享内存的方式

    shared-memory

    客户端连入的时候加上--protocol-memory选项

    Unix域套接字

    也只能在本机使用。

    mysql -uroot -pxxx -S /var/lib/mysql/mysql.socket

     

     

     

     

     

     

     

  • 相关阅读:
    洛谷 P1508 Likecloud-吃、吃、吃
    Codevs 1158 尼克的任务
    2017.10.6 国庆清北 D6T2 同余方程组
    2017.10.6 国庆清北 D6T1 排序
    2017.10.3 国庆清北 D3T3 解迷游戏
    2017.10.3 国庆清北 D3T2 公交车
    2017.10.3 国庆清北 D3T1 括号序列
    2017.10.4 国庆清北 D4T1 财富
    2017.10.7 国庆清北 D7T2 第k大区间
    2017.10.7 国庆清北 D7T1 计数
  • 原文地址:https://www.cnblogs.com/leomei91/p/7511546.html
Copyright © 2011-2022 走看看