MySQL-(1)体系结构

MySQL是一个单进程多线程的数据库系统,其体系结构包括后台线程和共享内存。数据库实例用于操作物理文件,存储引擎如InnoDB支持事务处理和行锁,适合OLTP,而MyISAM则不支持事务,适用于OLAP。此外,还有Memory引擎用于内存存储和Archive引擎用于数据压缩。了解MySQL的存储引擎选择对于优化数据库性能至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值