zoukankan      html  css  js  c++  java
  • MySQL(1)体系结构

    MySQL体系结构

    它是一个单进程,多线程的数据库。

    数据库:物理操作系统文件或其它形式文件类型的集合。

    实例:MySQL 数据库由后台线程以及一个共享内存组成,共享内存可以被运行的后台线程所共享,数据库实例才是真正用于操作数据库文件的。

    MySQL 数据库的体系结构如下图
    在这里插入图片描述

    需要注意的是 :存储引擎是基于表的,不是基于数据库的。

    MySQL 的存储引擎:

    1. InnoDB:主要用于 OLTP 应用

    2. MyISAM:主要用于 OLAP 应用

    3. Memory:数据全部存在内存中,默认使用 hash 索引,而不是 B+ 树,只支持表锁。

    4. Archive:只支持 SELECT 和 INSERT 操作,使用 zlib 算法对数据进行压缩。

    InnoDB 引擎

    1. 支持事物

    2. 行锁设计

    3. 通过 MVCC 获得高并发性,使用间隙锁避免幻读的现象

    4. 每张表的数据都是按照主键的顺序进行存放,没有主键,会生成一个 6 字节的 ROWID

    MyISAM 引擎

    1. 不支持事物

    2. 表锁设计

    3. 支持全文索引

    4. 缓冲池只缓冲索引文件,并不缓存数据文件

    查看当前 MySQL 支持的存储引擎:

    1. 查询 information_schema.ENGINES

    2. 使用 show engines\G 命令

    示例:
    在这里插入图片描述
    在这里插入图片描述

    连接MySQL

    常用的连接通信方式是:TCP/IP套接字、UNIX 域套接字。

    1. TCP/IP 套接字:mysql -h192.168.0.101 -uroot -p

    2. UNIX 域套接字:就是 socket 文件,如 —socket=/tmp/mysql.socket

    可以使用 show variables like 'socket' 来查看服务器当前的 socket 文件。

    ------------------------------我是博客签名------------------------------
    座右铭:不要因为知识简单就忽略,不积跬步无以至千里。
    版权声明:自由转载-非商用-非衍生-保持署名。
    本作品采用知识共享署名 4.0 国际许可协议进行许可。
    ----------------------------------------------------------------------
  • 相关阅读:
    [TimLinux] TCP全连接队列满
    [TimLinux] JavaScript 中循环执行和定时执行
    [TimLinux] JavaScript 事件
    [TimLinux] JavaScript 获取设置在CSS类中的属性值
    [TimLinux] JavaScript 面向对象程序设计
    [TimLinux] JavaScript 引用类型——Date
    [TimLinux] django html如何实现固定表头
    [TimLinux] Django 信号
    [TimLinux] Django 中间件
    安卓存储之文件存储方式j
  • 原文地址:https://www.cnblogs.com/wuqinglong/p/15606262.html
Copyright © 2011-2022 走看看