MySQL存储与引擎

存储引擎,表处理器,表类型;

参考博客:1 2

引擎

MySQL提供不同的引擎类型,对不同的表进行存储和管理。表的存储到数据库中,最后落入文件或者内存、或者根据不同的业务是否需要事务管理,或者支持的索引等等功能,选择不同的存储引擎,满足不同的效率要求等。

不同的存储引擎提供额外的效率、功能等,对不同需求的表进行管理存储,提升不同的效益。

可以选择适用不同服务器、数据库和表格的存储引擎。在选择怎么存储(内存?文件),怎么索引(全文?哈希?其他?),存什么样的数据(文本?csv?),支不支持联机事务处理等;提供不同的需求,不同的性能和灵活性。

数据库引擎是用于存储、处理和保护数据的核心服务。存储引擎说白了就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。

类型

  • InnoDB
  • MyISAM
  • MRG_MYISAM
  • MEMORY
  • CSV
  • ARCHIVE
  • BLACKHOLE
  • PERFORMANCE_SCHEMA
  • FEDERATED

操作

  1. 查看

    • SHOW VARIABLES LIKE '%storage_engine%

    • SHOW ENGINES\G;

    • INFORMATION_SCHEMA.ENGINES表

  2. 修改

    • 安装环境的配置 my.cnf -----修改默认存储引擎字段
    • 创建表/修改表/时:CREATE TABLE XX ...ENGINE=InnoDB
    • 查看:show create table xx
  3. 其他

InnoDB

MySQL默认的存储引擎(V5.6之后)。一个健壮的事务型存储引擎------操作非常大的数据量,提供行级锁定外键约束。一般来说,如果需要事务支持,并且有较高的并发读取频率,InnoDB是不错的选择。

特点

  • 提供ACID的事务性支持,实现了四种隔离级别(无操作、脏读、重复读、幻度)。
  • 行级锁定和外键约束,满足处理大容量数据库系统的目标
  • 从V5.6开始支持全文索引
  • 系统崩溃后可以自动恢复
  • 外键和引用完整性支持,包括级联删除和更新; 基于行级别的锁定和多版本化,良好的并发性能

适用:

  • 经常更新的表,适合多重并发请求
  • 事务操作
  • 自动灾难恢复。与其它存储引擎不同,InnoDB表能够自动从灾难中恢复。
  • 外键约束
  • 列自增,auto_increment
MyISAM

MyISAM表是独立于操作系统的,可以轻松地将其从Windows服务器移植到Linux服务器;每当我们建立一个MyISAM引擎的表时,就会在本地磁盘上建立三个文件,文件名就是表名。例如,我建立了一个MyISAM引擎的tb_Demo表,那么就会生成以下三个文件:tb_demo.frm,存储表定义;tb_demo.MYD,存储数据;tb_demo.MYI,存储索引。

如果表的读操作远远多于写操作且不需要数据库事务的支持,那么MyIASM也是很好的选择。

特点

  • 不支持事务,没有行级锁和外键-----插入和更新操作会锁定全表,性能低
  • 使用一种表格锁定机制,实现并发(牺牲空间)
  • 强调快速读取,不支持灾难恢复

适用:

  • 选择密集的表:筛选大量数据时性能优
  • 更新密集的表:MyISAM的并发插入特性允许同时选择和插入数据。例如:MyISAM存储引擎很适合管理邮件或Web服务器日志数据。
MRG_MyISAM

是一个相同的可以被当作一个来用的MyISAM表的集合,所有的表有同样的列(名字、类型)和索引信息。和旧版本的MERGE 是同一种来源。对一个MERGE表操作其实就是对其中的MyISAM表进行操作。

适用:

  • 服务器日志,多个相同表的数据
  • MERGE表是在MyISAM表的基础上进行定义的,就如同视图那样;删除不会影响原表数据。alter table tb_merge engine=merge union(tb_log1) insert_method=last;
  • 上述定义中,union表示关联哪些表,insert_method 表示插入数据的方法,取值域为[0,FIRST,LAST];分别表示不允许插入、插入第一个表和插入最后一个表
MEMORY

在内存中创建表,性能高。要求存储在表中的数据使用的是长度不变的格式,默认使用Hash索引。

特点:

  • 访问存取效率高,内存访问
  • 数据容易丢失,关机则失去
  • 支持哈希索引和B树索引
  • [Added]B树索引的优于散列索引的是,可以使用部分查询和通配查询,也可以使用<、>和>=等操作符方便数据挖掘。散列索引进行“相等比较”非常快,但是对“范围比较”的速度就慢多了,因此散列索引值适合使用在=和<>的操作符中,不适合在<或>操作符中,也同样不适合用在order by子句中。

适用:

  • 目标数据较小,频繁访问使用的数据(类似缓存机制);可以通过参数max_heap_table_size控制Memory表的大小
  • 临时数据
  • 数据丢失对使用环境没有影响
BLACKHOLE

任何写入到此引擎的数据均会被丢弃掉, 不做实际存储;Select语句的内容永远是空。他会丢弃所有的插入的数据,服务器会记录下Blackhole表的日志,所以可以用于复制数据到备份数据库。

适用:

  • 充当日志服务器
  • 验证dump file语法的正确性??
ARCHIVE

Archive是归档的意思,在归档之后很多的高级功能就不再支持了,仅仅支持最基本的插入和查询两种功能。在MySQL 5.5版以前,Archive是不支持索引,但是在MySQL 5.5以后的版本中就开始支持索引了。Archive拥有很好的压缩机制,它使用zlib压缩库,在记录被请求时会实时压缩,所以它经常被用来当做仓库使用。

特点:

  • 行级锁,不支持事务

小结&对比

【表参考链接:https://github.com/jaywcjlove/mysql-tutorial/blob/master/chapter3/3.5.md】

特性InnoDBMyISAMMEMORYARCHIVE
存储限制(Storage limits)64TBNoYESNo
支持事物(Transactions)YesNoNoNo
锁机制(Locking granularity)行锁表锁表锁行锁
B树索引(B-tree indexes)YesYesYesNo
T树索引(T-tree indexes)NoNoNoNo
哈希索引(Hash indexes)YesNoYesNo
全文索引(Full-text indexes)YesYesNoNo
集群索引(Clustered indexes)YesNoNoNo
数据缓存(Data caches)YesNoN/ANo
索引缓存(Index caches)YesYesN/ANo
数据可压缩(Compressed data)YesYesNoYes
加密传输(Encrypted data[1])YesYesYesYes
集群数据库支持(Cluster databases support)NoNoNoNo
复制支持(Replication support[2])YesNoNoYes
外键支持(Foreign key support)YesNoNoNo
存储空间消耗(Storage Cost)N/A非常低
内存消耗(Memory Cost)N/A
数据字典更新(Update statistics for data dictionary)YesYesYesYes
备份/时间点恢复(backup/point-in-time recovery[3])YesYesYesYes
多版本并发控制(Multi-Version Concurrency Control/MVCC)YesNoNoNo
批量数据写入效率(Bulk insert speed)非常快
地理信息数据类型(Geospatial datatype support)YesYesNoYes
地理信息索引(Geospatial indexing support[4])YesYesNoYes
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值