博客
关于我
mysql 表的操作
阅读量:795 次
发布时间:2023-02-11

本文共 1304 字,大约阅读时间需要 4 分钟。

MySQL 存储引擎详解

1. 存储引擎的概念

在关系型数据库中,数据的存储、管理和操作方式决定了数据库的性能和特性。存储引擎(Storage Engine)是数据库系统中负责数据存储和操作的核心组件。不同存储引擎提供不同的数据存储和操作机制,适用于不同的应用场景。

2. MySQL 支持的存储引擎

MySQL 提供了多种存储引擎,用户可以根据需求选择或开发存储引擎。以下是常用的 MySQL 存储引擎类型及其特点:

1. InnoDB 存储引擎

  • 特点

    • 支持事务处理,适合 OLTP 应用。
    • 行锁设计,支持外键。
    • 提供多版本并发控制(MVCC),防止幻读。
    • 数据以表空间存储,可选单独文件存储。
    • 自适应哈希索引和预读机制提升性能。
  • 适用场景:高并发、高可用性和高扩展性的 OLTP 应用。

2. MyISAM 存储引擎

  • 特点

    • 不支持事务,适合 OLAP 数据库。
    • 表锁设计,索引缓冲池只缓存索引文件。
    • 数据文件和索引文件分开存储。
  • 适用场景:简单查询和数据仓库应用。

3. NDB 存储引擎

  • 特点

    • 集群存储引擎,采用 share nothing 架构。
    • 数据存放在内存中,支持在线扩展。
    • 主键查询速度快,适合高性能 OLTP 应用。
  • 适用场景:高可用性和高性能的 OLTP 应用。

4. Memory 存储引擎

  • 特点

    • 数据存放在内存中,重启后数据丢失。
    • 提供哈希索引,适合临时数据存储和 OLAP 应用。
  • 适用场景:临时数据表和数据仓库维度表。

5. 其他存储引擎

  • Infobright:按列存储数据,适合 OLAP 应用。
  • NTSE:网易公司开发,支持事务和压缩功能。
  • BLACKHOLE:用于主备复制中的分发主库。

3. 如何指定表的存储引擎

在创建表时,可以通过 engine 选项指定存储引擎:

create table t1 (id int) engine=innodb;

默认存储引擎为 InnoDB(MySQL 5.5.8 及后版本)。

4. 创建表与插入数据

创建数据库

create database db2 charset utf8;

使用数据库

use db2;

创建表

create table a1 (id int, name varchar(50), age int(3));

插入数据

insert into a1 values(1, 'xb', 18), (2, 'sb', 20);

5. 查询数据与结构

查看数据

select * from a1;

查看表结构

desc a1;

查看表详细结构

show create table a1\G;

6. 复制表

创建数据库

create database db3 charset utf8;

使用数据库

use db3;

复制表结构和数据

create table b1 select * from db2.a1;

查看复制结果

select * from db3.b1;

7. 删除表

drop table 表名;

通过以上内容,用户可以全面了解 MySQL 存储引擎的类型及其使用方法,并通过实践操作数据库管理。

转载地址:http://rbbfk.baihongyu.com/

你可能感兴趣的文章
mysqldump: Got error: 1044: Access denied for user ‘xx’@’xx’ to database ‘xx’ when using LOCK TABLES
查看>>
Mysqldump参数大全(参数来源于mysql5.5.19源码)
查看>>
mysqldump备份时忽略某些表
查看>>
mysqldump实现数据备份及灾难恢复
查看>>
mysqldump数据库备份无法进行操作只能查询 --single-transaction
查看>>
mysqldump的一些用法
查看>>
mysqli
查看>>
MySQLIntegrityConstraintViolationException异常处理
查看>>
mysqlreport分析工具详解
查看>>
MySQLSyntaxErrorException: Unknown error 1146和SQLSyntaxErrorException: Unknown error 1146
查看>>
Mysql_Postgresql中_geometry数据操作_st_astext_GeomFromEWKT函数_在java中转换geometry的16进制数据---PostgreSQL工作笔记007
查看>>
mysql_real_connect 参数注意
查看>>
mysql_secure_installation初始化数据库报Access denied
查看>>
MySQL_西安11月销售昨日未上架的产品_20161212
查看>>
Mysql——深入浅出InnoDB底层原理
查看>>
MySQL“被动”性能优化汇总
查看>>
MySQL、HBase 和 Elasticsearch:特点与区别详解
查看>>
MySQL、Redis高频面试题汇总
查看>>
MYSQL、SQL Server、Oracle数据库排序空值null问题及其解决办法
查看>>
mysql一个字段为空时使用另一个字段排序
查看>>