MySQL基础扎实——MySQL中有那些不同的表格

news2024/11/24 17:19:49

在这里插入图片描述

表格类型

在MySQL中,常见的表格类型有以下几种:

  1. MyISAM:是MySQL默认的表格类型,具有较高的性能和较小的存储空间占用。但是,MyISAM不支持事务、崩溃恢复和数据行级锁定。

  2. InnoDB:是MySQL提供的一个更强大和可靠的表格类型。它支持事务、崩溃恢复和数据行级锁定,具有较好的并发处理和数据完整性保护。在MySQL 5.5.5之后,InnoDB成为了默认的存储引擎。

  3. Memory(或称为Heap):是将表格数据存储在内存中的一种表格类型。它的数据访问速度非常快,适用于对数据读取频繁而对数据持久性要求不高的场景。但是,Memory表格类型不支持事务和崩溃恢复功能,并且数据存储在内存中,会在MySQL重启或崩溃时丢失。

  4. Archive:是一种用于存档数据的表格类型,它采用非常高的压缩比来减小存储空间的占用。Archive表格类型适用于存储大量历史数据,但查询性能较差。

  5. CSV:是一种将表格数据以CSV格式存储的表格类型。CSV表格类型适用于交换和导入/导出数据,但不支持事务和索引。

除了以上常见的表格类型,MySQL还支持其他的表格类型,如Blackhole、Federated等。每种表格类型都有其各自的特点和适用场景,根据具体的业务需求和性能要求,选择合适的表格类型是很重要的。

适用场景

下面是对每种表格类型的适用场景进行详细举例:

  1. MyISAM

    • 适用场景:MyISAM适用于读密集型应用,例如新闻网站、博客系统等。由于MyISAM表格不支持事务和行级锁定,但具有较高的读取性能和较小的存储空间占用,因此在只读或少量写入的情况下可以获得较好的性能。
    • 示例:新闻网站的文章存储表格,当读取的频率远远大于写入的频率时,可以选择使用MyISAM表格类型。
  2. InnoDB

    • 适用场景:InnoDB适用于对事务支持和数据完整性有严格要求的应用场景,例如电子商务、银行系统等。由于InnoDB支持事务、崩溃恢复和数据行级锁定,可以保证并发处理和数据的一致性。
    • 示例:电子商务平台的订单管理表格,需要处理复杂的事务逻辑和保证数据的完整性,因此选择使用InnoDB表格类型。
  3. Memory(或Heap)

    • 适用场景:Memory表格类型适用于对性能要求极高、对数据持久性要求不高的应用场景,例如缓存数据、临时数据等。由于Memory表格将数据存储在内存中,读取速度非常快,适用于读取频繁的操作。
    • 示例:缓存数据表格,存储一些频繁读取的数据,例如热门商品列表、配置信息等。
  4. Archive

    • 适用场景:Archive表格适用于对数据存储空间的要求较高、数据查询较少的存档场景。由于Archive表格采用高压缩比,可以极大地减小存储空间的占用。
    • 示例:日志存档表格,用于存储历史日志记录,对于只偶尔需要查询的日志数据,可以选择使用Archive表格类型。
  5. CSV

    • 适用场景:CSV表格类型适用于数据导入/导出和数据交换等场景。由于CSV表格不支持事务和索引,适用于一次性的数据操作。
    • 示例:批量数据导入表格,用于将大量数据以CSV格式导入到MySQL数据库中。

请注意,在选择表格类型时,需要根据具体场景的需求进行权衡,考虑到事务支持、数据完整性、读写性能、存储空间占用等因素。

创建形式

下面是每种表格的创建形式的示例:

  1. MyISAM
CREATE TABLE table_name (
  column1 INT,
  column2 VARCHAR(255),
  ...
) ENGINE=MyISAM;
  1. InnoDB
CREATE TABLE table_name (
  column1 INT,
  column2 VARCHAR(255),
  ...
) ENGINE=InnoDB;
  1. Memory(或Heap)
CREATE TABLE table_name (
  column1 INT,
  column2 VARCHAR(255),
  ...
) ENGINE=MEMORY;
  1. Archive
CREATE TABLE table_name (
  column1 INT,
  column2 VARCHAR(255),
  ...
) ENGINE=ARCHIVE;
  1. CSV
CREATE TABLE table_name (
  column1 INT,
  column2 VARCHAR(255),
  ...
) ENGINE=CSV;

在MySQL中,默认的表格类型是根据数据库管理系统的版本和配置设置而定,通常为InnoDB。MySQL 5.5.5及以后的版本将InnoDB作为默认的存储引擎。

如果没有显式指定表格类型的话,创建表时将自动使用默认的表格类型。可以通过查看MySQL的配置文件(通常是my.cnf或my.ini)或者执行以下SQL语句来确认默认的表格类型:

SHOW VARIABLES LIKE 'default_storage_engine';

该语句将显示默认的存储引擎。如果没有显式设置,默认值通常为’InnoDB’或’MyISAM’。

需要注意的是,不同的MySQL发行版和版本可能有不同的默认表格类型设置。因此,在创建表时最好明确指定所需的表格类型,以确保与预期的存储引擎一致。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/795001.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

理解基本的Android编程 (1/2)

1、Android概述 Android 是一个开源的,基于 Linux 的移动设备操作系统。 Android开发优势 开放源代码 众多开发者及强大的社区 不断增长的市场 国际化的App集成 低廉的开发成本 更高的成功几率 丰富的开发环境 Android应用程序 Android 应用程序一般使用…

EtherNet/IP转Modbus网关以连接AB PLC

本案例为西门子S7-1200 PLC通过捷米特Modbus转EtherNet/IP网关捷米特JM-EIP-RTU连接AB PLC的配置案例。 网关分别从ETHERNET/IP一侧和MODBUS一侧读写数据,存入各自的缓冲区,网关内部将缓冲区的数据进行交换,从而实现两边数据的传输。 网关做为…

VMware NSX Advanced Load Balancer (NSX ALB) 22.1.4 - 负载均衡平台

VMware NSX Advanced Load Balancer (NSX ALB) 22.1.4 - 负载均衡平台 请访问原文链接:https://sysin.org/blog/vmware-nsx-alb-22/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org 负载均衡平台 NSX Advanced Load…

SpringBoot-6

Spring Boot 中的 MVC 支持 Spring Boot 的 MVC 支持主要来最常用的几个注解,包括RestController 用于声明控制器、RequestMapping用于实现方法映射地址、PathVariable 用于接受路径中的参数、RequestParam 用于接受 request 请求中的参数以及RequestBody 用于接受…

echarts 饼图中间添加文字

需求:饼图中间展示总量数据 方法一、设置series对应饼图的label属性 series: [{type: "pie",radius: [55%, 62%],center: ["67%", "50%"],itemStyle: {borderRadius: 10,borderColor: #fff,borderWidth: 2},// 主要代码在这里label: …

docker 的compose安装

1. Docker Compose 环境安装 Docker Compose 是 Docker 的独立产品,因此需要安装 Docker 之后在单独安装 Docker Compose 下载 curl -L https://github.com/docker/compose/releases/download/1.21.1/docker-compose-uname -s-uname -m -o /usr/local/bin/docker…

HBase有写入数据,页面端显示无数据量

写了一个测试类,插入几条数据,测试HBase的数据量。很简单的功能,这就出现问题了。。网页端可以看到,能够看到读写请求,但是不管是内存、还是磁盘,都没有数据。 于是就想到去HDFS查看,也是有数据…

VU3-02

1.一些小点 1.1 npm i -D less (安装less) -D 安装依赖到开发环境中 只在开发中生效 正式打包的时候没有它,只在开发时有效 1.2 父子组件传参 (1)子组件中定义自己的参数和事件 父传子:const props defineProps(["item&quo…

利用读时建模等数据分析能力,实现网络安全态势感知的落地

摘要:本文提出一种基于鸿鹄数据平台的网络安全态势感知系统,系统借助鸿鹄数据平台读时建模、时序处理、数据搜索等高效灵活的超大数据存储和分析处理能力,支持海量大数据存储、分类、统计到数据分析、关联、预测、判断的网络安全态势感知能力…

MySQL索引优化分析和锁详解

MySQL 1. 索引 1.1 索引的概述 索引(index)是帮助MySQL高效获取数据的数据结构(有序) 1.2 索引的优缺点 优点 提高数据检索效率,降低磁盘IO的成本通过索引列对数据进行排序, 降低数据排序的成本,降低CPU的消耗 缺点 索引是需要…

【使用回溯法求解八皇后问题(92个解)】

在每一个横列、竖列、斜列都只有一个皇后 解决的冲突 包括行、列和两条对角线规定每一行放置一个皇后,不会造成行上的冲突 当第col列被某个皇后占领之后,则同一列上的所有空格都不能再放置皇后,并且要把flag[col]置为被占领状态 对角线有两个…

【Docker】Docker的通信安全

Docker的通信安全 前言一、Docker 容器与虚拟机的区别1. 隔离与共享2. 性能与损耗 二、Docker 存在的安全问题1. Docker 自身漏洞2. Docker 源码问题 三、Docker 架构缺陷与安全机制1. 容器之间的局域网攻击2. DDoS 攻击耗尽资源3. 有漏洞的系统调用4. 共享 root 用户权限 四、…

OBS 迁移--华为云

一、创建迁移i任务 1. 登录管理控制台。 2. 单击管理控制台左上角的 在下拉框中选择区域。 3. 单击“ 服务列表 ”,选择“ 迁移 > 对象存储迁移服务 OMS ”,进入“ 对象存储迁移服务 ”页面。 4. 单击页面右上角“ 创建迁移任务 ”。 5. 仔细阅读…

卡尔曼滤波算法原理及示例

例程:物体做匀速运动每秒运动1m,观测器观测方差为1m

安全学习DAY06_抓包技术-HTTPHTTPS

抓包技术-HTTP&HTTPS HTTP&HTTPS抓包针对Web&APP&小程序&PC应用等 本节目的: 掌握几种抓包工具证书安装操作掌握几种HTTP&HTTPS抓包工具的使用学会Web,APP,小程序,PC应用等抓包了解本节课抓包是针对哪些…

大数据课程C5——ZooKeeper的应用组件

文章作者邮箱:yugongshiyesina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 掌握Zookeeper的Canal消费组件; ⚪ 掌握Zookeeper的Dubbo分布式服务框架; ⚪ 掌握Zookeeper的Metamorphosis消息中间件; ⚪ 掌握Zo…

Docker的安装与部署

Docker 基本概念介绍 通俗理解:镜像是类,容器是对象实例 仓库 应用商店、镜像 下载的应用安装程序、容器 应用程序 镜像(Image) 这里面保存了应用和需要的依赖环境 为什么需要多个镜像?当开发、构建和运行容器化应用程序时,我们…

【Postman】Newman安装与环境配置完整版(内含安装过程中遇到的问题与解决方案)

文章目录 概要Newman安装三步走一、nodejs安装与环境配置1、安装2、环境配置 二、安装newman1、步骤2、问题与解决方案 三、安装newman-reporter-html 概要 Newman:一款基于nodejs开发的可以运行Postman脚本的工具,并且可以生成测试报告。本文介绍了New…

【Linux】信号补充与总结

可重入函数 【分析】 mian函数正在调用insert函数向链表中插入节点。insert函数分为两步,刚刚执行完第一步时此时硬件发生中断,使进程切换到内核。中断处理完毕切换到用户态之前发现有信号未决,于是进入了信号的处理函数,信号的处…

XGBoost实例——皮马印第安人糖尿病预测和特征筛选

利用皮马印第安人糖尿病数据集来预测皮马印第安人的糖尿病,以下是数据集的信息: Pregnancies:怀孕次数Glucose:葡萄糖BloodPressure:血压 (mm Hg)SkinThickness:皮层厚度 (mm)Insulin:胰岛素 2…