目录
一、数据库存储引擎(发动机)
1.1、认识引擎
MySQL中的引擎是指存储引擎,它是用于存储、管理和检索数据的内部组件。不同的存储引擎具有不同的特性和功能,例如MyISAM、InnoDB、MEMORY等。选择合适的存储引擎可以根据应用的需求来提高性能和可靠性。MySQL中的存储引擎可以通过CREATE TABLE语句中的ENGINE选项来指定。
1.2、查看存储引擎
语法方式:show engines
鼠标方式:找到表,右键设计,点击选项第一个
1.3、引擎常识
常用引擎:MyISAM、InnoDB、MEMORY、ARCHIVE
默认引擎:InnoDB
1.4、support字段说明
DEFAULT(default)===默认的引擎
YES===可以使用
NO===不能使用
1.5、四大引擎
- MyISAM
适合用于读密集型的应用,即大部分是查询操作而写操作相对较少的情况。它在处理大量的SELECT查询时性能较好,因为它是基于表级锁定的,这意味着在写操作时会锁定整个表,因此并发写操作会受到影响。另外,MyISAM不支持事务和外键约束,因此不适合需要强大事务支持和数据完整性保证的应用。
使用场景:大量查询,很少修改的场景,例如:开发上数据字典、信用参数、数据仓库、日志记录和其他只读或者很少更新的数据。
特点:
①强调了快速读取操作------------表锁
②存储限制: 256TG
③事务支持:不支持事务
- InnoDB
使用场景:
一般事务性,均使用该引擎,用途最广,如果把握不准使用何种引擎,就使用该引擎
特点:
①修改快,支持事务------行锁
②存储限制: 64TG
③事务支持:支持事务
- MEMORY(当成视图用)
适合用于对性能要求非常高的应用,因为它将表中的数据存储在内存中,而不是在磁盘上。这意味着对于读取操作,提供非常快速的访问速度。然而,由于数据存储在内存中,因此对于大型数据集来说,内存的消耗可能会成为一个限制因素。
使用场景:由于易失性,可以用于存储在分析中产生的中间表
1. 对读取操作有较高要求的应用,例如缓存或者临时数据存储。
2. 数据量相对较小,并且对数据持久性要求不高的应用。
3. 用于临时表或者数据集合,例如用于复杂查询的中间结果存储。
特点
①所有的数据都保存在内存中,一旦服务器重启,所有memry存储引擎的表数据会消失但是表结构会保存下来②存储限制:取决于RAM-----RAM:随机存储器、ROM只读存储器
③事务支持:不支持事务
- ARCHIVE
适合用于需要对大量历史数据进行存档和备份的场景。它主要用于只读的数据存储,对于插入和查询操作有较高的性能,但不支持更新和删除操作。数据压缩能力非常强大,可以大幅减少磁盘空间的占用,因此非常适合用于存储大量历史数据,并且对数据的读取操作相对较少的情况。
使用场景:在日志和数据采集的时候可以使用
常见的使用场景包括:
1. 数据归档:将历史数据进行归档存储,以便长期保存和备份。
2. 日志存储:对于大量的日志数据,可以使用ARCHIVE存储引擎进行存储,节省磁盘空间。
3. 数据仓库:用于存储大量历史数据,以便进行数据分析和报表生成。
特点:
①只允许插入和查询,不允许修改和删除,压缩存储,节约空间,可以实现高并发的插入,支支持在自增ID上建立索引②archive表比MylSAM表要小大约75%,比支持事务处理的InnoDB表小大约83%
③事务支持:不支持事务
二、数据库管理
2.1、元数据库介绍:
记录MySQL自身的数据库
2.2、分类:
默认数据库:3个
information schema:(放自己建的库)
信息数据库,保存mysql所维护的其他数据库信息
例如:数据库名,数据库的表,表栏的数据类型与访问权限等
mysql:(可能要操作的表)
核心数据库,主要负责存储数据库的用户、权限设置、关键字等
mysql自己需要使用的控制和管理信息。
performance_schema:(用在集群---