MYSQL数据常用存储引擎

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介:       这里主要介绍mysql两个主要引擎:INNODB、MYISAM。MySQL默认存储引擎是MYISAM。一、INNODB存储引擎       innodb引擎提供了对数据库ACID事务支持、行级锁和外键约束,处理大数据量的数据库系统。

      这里主要介绍mysql两个主要引擎:INNODB、MYISAM。MySQL默认存储引擎是MYISAM。


一、INNODB存储引擎

       innodb引擎提供了对数据库ACID事务支持、行级锁和外键约束,处理大数据量的数据库系统。Mysql运行时innodb会在内存中建立缓存池,用于缓存数据和索引。但是该索引不支持全文搜索。不会保存表的行数,例如:count(*)是全表扫描。由于锁的颗粒小写入操作时不会锁定全表。

  1. 适用场景

      1)经常写入操作、并发更新请求。

      2)支持事务回滚、数据恢复(通过bin-log日志)

      3)支持外键约束

      4)支持自增列auto_increment


二、MYISAM存储引擎

       myisam引擎是mysql默认的存储引擎,它不支持事务、行级锁、外键约束,在执行写入操作时需要锁定全表,效率低。myisam可以保存行数,例如:count(*)不会扫描全表而是直接读取行数,效率高。读取数据大过写入操作myisam很适用。

  1.  适用场景 
      1)myisam不支持事务,如使用myisam存储数据可以在service层根据业务需求做控制。

      2)经常对表进行枷锁的场景、不支持外键。

      3)查询效率很高

      4)不能自动表损坏恢复数据


三、INNODB与MYISAM使用索引数据结构

      innodb和myisam都是使用B+Tree结构

      MyIASM引擎,B+树的数据结构中存储的内容实际上是实际数据的地址值。

      Innodb引擎的索引存储的是实际的数据。


四、INNODB与MYISAM的区别

  1. innodb主键索引

          表数据文件本身就是索引文件,必须要有主键。

     2. InnoDB的辅助索引(Secondary Index, 也就是非主键索引)

           会包含主键列,比如名字建立索引,内部节点会包含名字,叶子节点会包含该名字对应的主键的值,如果主键定义的比较大,其他索引也将很大。

     3. myisam主索引和辅助索引(Secondary key)

        结构上和innodb没有任何区别,只是主索引要求key是唯一的,辅助索引可以重复,结构上没有任何区别,只是主索引要求key是唯一的,辅助索引可以重复。


五、修改存储 引擎的几种方式

      1、修改配置文件my.ini

       将mysql.ini另存为my.ini,在[mysqld]后面添加default-storage-engine=InnoDB,重启服务,数据库默认的引擎修改为InnoDB

      2、建表指定

create table user(   
    id int primary key,   
    name varchar(50)   
)type=Innodb;

     3、建表后更改

alter table user
type = InnoDB;

     查看修改是否成功:

show table status from user; 


mysql其他存储引擎

   Memory, Blackhole,  CSV, Performance_Schema,Archive, Federated , Mrg_Myisam






相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
7天前
|
存储 缓存 关系型数据库
MySQL 存储引擎
MySQL 存储引擎
28 6
|
14天前
|
SQL 关系型数据库 MySQL
MySQL 修改数据
MySQL 修改数据
|
6天前
|
SQL 关系型数据库 MySQL
Spring_jdbc数据连接池(mysql实现增、删、改、查)
Spring_jdbc数据连接池(mysql实现增、删、改、查)
16 0
|
6天前
|
关系型数据库 MySQL
Mysql语句_查询数据百分比、人员年龄、数据排序、添加查询时的列属性、合并查询结果
Mysql语句_查询数据百分比、人员年龄、数据排序、添加查询时的列属性、合并查询结果
10 0
|
1天前
|
缓存 关系型数据库 MySQL
mysql用in查询大量数据的方法
在MySQL中使用 IN 子句来查询大量数据时,性能可能会成为一个问题
|
1天前
|
Java 关系型数据库 MySQL
JDBC实现往MySQL插入百万级数据
JDBC实现往MySQL插入百万级数据
|
1天前
|
SQL Java 关系型数据库
JDBC批量插入mysql数据
JDBC批量插入mysql数据
|
1天前
|
运维 DataWorks 关系型数据库
DataWorks产品使用合集之DataWorks还有就是对于mysql中的表已经存在数据了,第一次全量后面增量同步的步骤如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
13 2
|
1天前
|
分布式计算 DataWorks 调度
DataWorks产品使用合集之在DataWorks中,查看ODPS表的OSS对象如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
13 1
|
1天前
|
分布式计算 DataWorks MaxCompute
DataWorks产品使用合集之在DataWorks中,将数据集成功能将AnalyticDB for MySQL中的数据实时同步到MaxCompute中如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
14 0