首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
5.1 MySQL存储引擎
5.1.1 MySQL存储引擎的概念
5.1.2 查询MySQL中支持的存储引擎
5.1.3 InnoDB存储引擎
5.1.4 MyISAM存储引擎
5.1.5 MEMORY存储引擎
5.1.6 选择存储引擎
5.1.7 设置数据表的存储引擎
5.2 MySQL数据类型
5.2.1 数字类型
5.2.2 字符串类型
5.2.3 日期和时间类型
6.1 创建数据表(CREATE TABLE语句)
6.2 查看表结构
6.2.1 使用SHOW COLUMNS语句查看
6.2.2 使用DESCRIBE语句查看
6.3 修改表结构(ALTER TABLE语句)
6.3.1 添加新字段和修改字段定义
6.3.2 修改字段名/类型
6.3.3 删除字段
6.3.4 修改表名
6.4 重命名表(RENAME TABLE语句)
6.5 复制表(CREATE TABLE…LIKE语句)
6.6 删除表(DROP TABLE语句)
7.1 运算符
7.1.1 算术运算符
7.1.2 比较运算符
7.1.3 逻辑运算符
7.1.4 位运算符
7.2 流程控制语句
7.2.1 IF语句
7.2.2 CASE语句
7.2.3 WHILE循环语句
7.2.4 LOOP循环语句
7.2.5 REPEAT循环语句
8.1 增添数据
8.1.1 使用INSERT…VALUES语句插入数据
8.1.2 使用INSERT…SET语句插入数据
8.1.3 使用INSERT...SELECT语句插入查询结果
8.2 修改数据
8.3 删除数据
8.3.1 使用DELETE语句删除数据
8.3.2 使用TRUNCATE TABLE语句删除数据
当前位置:
首页>>
技术小册>>
MySQL从入门到精通(二)
小册名称:MySQL从入门到精通(二)
### 5.1.2 查询MySQL中支持的存储引擎 在MySQL数据库中,存储引擎(Storage Engine)是数据库管理系统(DBMS)用来创建、查询、更新和删除数据的核心软件组件。不同的存储引擎提供了不同的数据存储机制、索引技巧、锁定水平等功能,这些特性使得MySQL能够灵活地满足各种应用场景的需求。了解并正确选择存储引擎对于优化数据库性能、提升数据访问效率至关重要。本章将深入探讨如何查询MySQL中支持的存储引擎,并简要介绍几种常用的存储引擎特性。 #### 5.1.2.1 理解存储引擎的重要性 MySQL支持多种存储引擎,每种引擎都有其独特的设计目的、性能特性和使用场景。例如,InnoDB是MySQL的默认存储引擎,提供了事务支持、行级锁定和外键约束等高级数据库功能,非常适合需要高并发处理、事务完整性和数据一致性的应用场景;而MyISAM则以其全文索引、表级锁定和较高的查询速度著称,适合读多写少的应用场景。因此,了解MySQL支持的存储引擎及其特性,对于设计高效、可扩展的数据库架构至关重要。 #### 5.1.2.2 查询MySQL支持的存储引擎 要查询MySQL当前支持的存储引擎列表,可以使用多种方法,包括SQL查询、系统变量查看以及查看MySQL文档等。下面介绍几种常用的查询方法。 ##### 1. 使用`SHOW ENGINES`语句 最直接的方式是使用`SHOW ENGINES`语句,该语句列出了MySQL服务器支持的所有存储引擎及其状态信息。执行此语句后,你将看到包括存储引擎名称、是否支持事务(Transactional)、是否支持保存点(Savepoints)、是否支持外键(Supports foreign keys)等信息的列表。 ```sql SHOW ENGINES; ``` 输出结果将类似如下(注意:实际输出可能因MySQL版本和配置而异): ``` +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+ | Engine | Support | Comment | Transactions | XA | Savepoints | +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+ | InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES | | MyISAM | YES | MyISAM storage engine | NO | NO | NO | | MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO | | CSV | YES | CSV storage engine | NO | NO | NO | | ARCHIVE | YES | Archive storage engine | NO | NO | NO | | BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO | | FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL | | MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO | | NDBCLUSTER | NO | Clustered, fault-tolerant, memory-based tables | YES | YES | YES | | PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO | +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+ ``` ##### 2. 查看系统变量 MySQL还允许通过查询系统变量来获取有关存储引擎的信息。虽然这不是直接列出所有支持的存储引擎的方法,但它可以提供关于当前MySQL实例如何配置存储引擎的见解。 ```sql SHOW VARIABLES LIKE 'storage_engine%'; ``` 这将显示与存储引擎相关的系统变量,如默认的存储引擎等。 #### 5.1.2.3 常用存储引擎简介 了解每种存储引擎的基本特性和适用场景,有助于根据应用需求做出合理的选择。以下是对几种常用存储引擎的简要介绍: ##### 1. InnoDB - **特点**:支持事务处理、行级锁定和外键,是MySQL的默认存储引擎。 - **适用场景**:需要高并发处理、事务支持和数据完整性的应用,如在线事务处理(OLTP)系统。 ##### 2. MyISAM - **特点**:不支持事务处理、使用表级锁定、全文索引支持良好、读写速度较快(尤其是读操作)。 - **适用场景**:适用于读操作远多于写操作的应用场景,如Web和数据仓库系统。 ##### 3. MEMORY - **特点**:所有数据存储在内存中,访问速度极快,但重启MySQL服务后数据会丢失。 - **适用场景**:用于临时表或缓存数据,以加速数据访问。 ##### 4. CSV - **特点**:以CSV格式存储数据,便于数据的导入导出。 - **适用场景**:适用于需要频繁与外部系统交换数据的应用场景。 ##### 5. ARCHIVE - **特点**:专为高效存储大量归档数据而设计,支持压缩以节省空间,但不支持事务处理和外键。 - **适用场景**:用于存储大量历史数据,如日志信息等。 #### 5.1.2.4 存储引擎的选择 选择合适的存储引擎是数据库设计过程中的一个重要环节。在选择时,应综合考虑应用的业务需求、性能要求、数据一致性需求、事务支持需求以及存储和备份策略等因素。此外,随着MySQL版本的更新,存储引擎的功能和性能也可能会有所变化,因此建议定期查阅最新的MySQL官方文档,以获取最准确的信息。 #### 5.1.2.5 总结 通过本章的学习,我们了解了MySQL中存储引擎的概念、重要性以及查询MySQL支持存储引擎的方法。同时,我们还简要介绍了几种常用存储引擎的特性及其适用场景,为在实际应用中选择合适的存储引擎提供了参考。在未来的数据库设计和优化过程中,正确理解和使用存储引擎将是提升数据库性能和稳定性的关键。
上一篇:
5.1.1 MySQL存储引擎的概念
下一篇:
5.1.3 InnoDB存储引擎
该分类下的相关小册推荐:
MySQL从入门到精通(四)
MySQL 实战 45 讲
MySQL从入门到精通(一)
MySQL8.0入门与实践
MySQL从入门到精通(五)
细说MySQL(零基础到高级应用)
MySQL必会核心问题
MySQL从入门到精通(三)
SQL零基础到熟练应用(增删改查)