MySQL的体系结构

mysql数据库7大特点(MySQL数据库体系机构基本介绍)(1)

存储引擎基本概念

show engines;

show variables like '%storage_engine%';

存储引擎特性

InnoDB

MyISAM

MEMORY

MERGE

NDB Cluster

存储限制

64 TB

限制

限制

无限制

限制

事务安全

支持

不支持

不支持

不支持

不支持

锁机制

行级锁. 适合高并发

表级锁

表级锁

表级锁

行级锁

外键

支持

不支持

不支持

不支持

不支持

B树索引

支持

支持

支持

支持

支持

哈希索引

不支持

不支持

支持

不支持

不支持

全文索引

支持

支持

不支持

不支持

不支持

集群索引

支持

不支持

不支持

不支持

不支持

数据索引

支持

不支持

支持

不支持

支持

索引缓存

支持

支持

支持

支持

支持

数据可压缩

不支持

支持

不支持

不支持

不支持

空间使用

N/A

内存使用

中等

批量插入速度

InnoDB

-- 开启事务 : 开启事务后,可以进行数据库的相关操作 start transaction; -- 提交事务 : 进行数据库的相关操作后,可以提交事务 commit;

MyISAMMEMORYMERGE

-- MyISAM存储引擎的表 CREATE TABLE orderA( id int AUTO_INCREMENT, order_money double(10,2), order_address vachar(64), PRIMARY KEY(id) )ENGINE=myisam DEFAULT CHARSET=utf8; -- MyISAM存储引擎的表 CREATE TABLE orderB( id int AUTO_INCREMENT, order_money double(10,2), order_address varchar(64), PRIMARY KEY(id) )ENGINE=myisam DEFAULT CHARSET=utf8; -- MERGE存储引擎的表 CREATE TABLE order_all( id int AUTO_INCREMENT, order_money double(10,2), order_address varchar(64), PRIMARY KEY(id) )ENGINE=merge UNION=(orderA,orderB) INSERT_METHOD=LAST DEFAULT CHARSET=utf8

存储引擎使用场景

InnoDB: MySQL的默认存储引擎.支持事务的处理,支持外键 适合应用于应用系统对事务的完整性有比较高的要求,在并发的条件下要求数据的一致性,数据操作除了插入和查询以外,还包含很多的更新,删除操作 InnoDB存储引擎可以有效降低删除和更新导致的锁定,可以确保事务的完整提交和回滚 InnoDB引擎适合于类似计费系统和财务系统等对数据准确性要求很高的应用系统

  • MyISAM: 适合应用于应用系统以读操作和插入操作为主,只有很少的更新和删除操作,并且对事务的完整性,并发性要求不高
  • MEMORY: 将所有的数据存储在内存中,在需要快速定位记录和类似的数据应用场景下,可以非常高效的访问数据 但是MEMORY引擎对存储表的大小有限制,无法将数据量很大的表存储到内存中 需要策略保证MEMORY引擎的表的数据可以恢复,保证数据库异常中止后 ,MEMORY存储引擎的表中的数据可以恢复 MEMORY存储引擎适合应用于不频繁进行更新的小表,可以非常高效的访问数据
  • MERGE: MERGE存储引擎是将一系统相同数据结构的MyISAM存储引擎的表以逻辑方式组合在一起,并作为一个对象来进行引用 MERGE存储引擎的表突破了对单个MyISAM存储引擎的表的大小限制,通过将不同的MyISAM存储引擎的表分布在多个磁盘上,提高MERGE存储引擎的表的数据的访问效率 MERGE存储引擎适合应用于数据仓储等相关的VLDB环境
  • mysql数据库7大特点(MySQL数据库体系机构基本介绍)(2)

    原文链接:https://juejin.cn/post/7090909280609665031

    ,