概述

MySQL体系结构图

Innodb引擎是在mysql的5.5版本之后的默认存储引擎。

Index是在引擎层次的,不同的存储引擎index的用法不同。

存储引擎就是存储数据,建立索引,更新查询数据等技术的实现方式。

存储引擎是基于表的而不是基于数据库的,故存储引擎又叫表的类型

语法

查询当前表的存储引擎类型

show create table 表名;

指定存储引擎

create table 表名(
...
)engine=存储引擎;

查询当前数据库支持的存储引擎

show engines;

存储引擎的特点

Innodb存储引擎的特点

  1. DML语句支持ACID模型
  2. 支持事务
  3. 行级索引,提高了并发访问的性能
  4. 支持外键,确保了数据的完整性和正确性

文件组成

每一个innodb表都对应了一个 xxx.idb 文件来存储该表的结构,数据

Innodb的逻辑存储结构图

表空间-->段-->区-->页-->行

Myism存储引擎的特点

特点

  1. 不支持事务
  2. 不支持外键
  3. 不支持行锁
  4. 支持表锁
  5. 访问速度很快

文件组成

一共myism表有三个文件

  • xxx.sdi 存储表结构信息
  • xxx.myd 存储表的数据信息
  • xxx.myi 存储表的索引信息

Memory存储引擎的特点

特点

  1. 存储所在内存当作,一般用来当临时表使用
  2. 支持哈希索引

文件组成

xxx.sdi 存储表的结构

三张表的区别

特点 Innodb MyISAM Memory
存储限制 64TB
事务安全 支持 --- ---
锁机制 行锁 表锁 表锁
B+tree索引 支持 支持 支持
Hash索引 --- --- 支持
全文索引 5.6版本后支持 支持 ---
空间使用 N/A
内存使用 中等
批量插入的速度
支持外键 支持 --- ---

存储引擎的选择

Innodb引擎

  1. 对事物的完整性有较高要求
  2. 在并发条件下要求事务一致性
  3. 数据操作除了插入和查询外包含了大量的更新删除操作

Myism引擎

  1. 以读取和插入为主,只进行少量的更新和删除操作
  2. 对数据的完整性和事务的并发性要求不高

Memory引擎

优点

将数据存储到内存中,访问速度极快

缺点

对表的大小有限制,太大的表无法存入,数据的安全性无法保障

用途

用作临时表或者缓存

MSQL-->存储引擎的更多相关文章

  1. mysql_存储引擎层-innodb buffer pool

    buffer pool 是innodb存储引擎带的一个缓存池,查询数据时,首先从内存中查询 数据如果内存中存在的话直接返回. innodb buffer pool 和 qcache 的区别:Qcach ...

  2. 《MySQL技术内幕:InnoDB存储引擎》读书笔记

    一.Mysql体系结构和存储引擎 1. 概念:              数据库:物理操作系统文件或其他形式文件类型的集合.(是文件的集合,是依照某种数据模型组织起来并存放于二级存储器中的数据集合.) ...

  3. MySQL数据库和InnoDB存储引擎文件

    参数文件 当MySQL示例启动时,数据库会先去读一个配置参数文件,用来寻找数据库的各种文件所在位置以及指定某些初始化参数,这些参数通常定义了某种内存结构有多大等.在默认情况下,MySQL实例会按照一定 ...

  4. Mysql存储引擎及选择方法

    0x00 Mysql数据库常用存储引擎 Mysql数据库是一款开源的数据库,支持多种存储引擎的选择,比如目前最常用的存储引擎有:MyISAM,InnoDB,Memory等. MyISAM存储引擎 My ...

  5. Mysql存储引擎比较

    Mysql作为一个开源的免费数据库,在平时项目当中会经常使用到,而在项目当中我们的着重点一般在设计使用数据库上而非mysql本身上,所以在提到mysql的存储引擎时,一般都不曾知道,这里经过网上相关文 ...

  6. MongoDB 存储引擎:WiredTiger和In-Memory

    存储引擎(Storage Engine)是MongoDB的核心组件,负责管理数据如何存储在硬盘(Disk)和内存(Memory)上.从MongoDB 3.2 版本开始,MongoDB 支持多数据存储引 ...

  7. TokuDB存储引擎

    TokuDB是Tokutek公司开发的基于ft-index(Fractal Tree Index)键值对的存储引擎. 它使用索引加快查询速度,具有高扩展性,并支持hot scheme modifica ...

  8. MongoDB 存储引擎和数据模型设计

    标签: MongoDB NoSQL MongoDB 存储引擎和数据模型设计 1. 存储引擎 1.1 存储引擎是什么 1.2 MongoDB中的默认存储引擎 2. 数据模型设计 2.1 内嵌和引用 2. ...

  9. 详细介绍Mysql各种存储引擎的特性以及如何选择存储引擎

    最近业务上有要求,要实现类似oracle 的dblink   linux版本 Server version: 5.6.28-0ubuntu0.14.04.1 (Ubuntu) 修改配置文件 /etc/ ...

  10. [MySQL Reference Manual]15. 其他存储引擎

    15. 其他存储引擎 15. 其他存储引擎 15.1 设置存储引擎 15.2 MyISAM存储引擎 15.2.1 MyISAM启动选项 15.2.2 Key的空间要求 15.2.3 MyISAM表存储 ...

随机推荐

  1. 一网成擒全端涵盖,在不同架构(Intel x86/Apple m1 silicon)不同开发平台(Win10/Win11/Mac/Ubuntu)上安装配置Python3.10开发环境

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_200 时光荏苒,过隙白驹,即将进入2022年,著名敏捷开发语言Python也放出了3.10最终版,本次我们来展示一下在不同的系统和 ...

  2. ASP.NET Core 6框架揭秘实例演示[31]:路由“高阶”用法

    ASP.NET的路由是通过EndpointRoutingMiddleware和EndpointMiddleware这两个中间件协作完成的,它们在ASP.NET平台上具有举足轻重的地位,MVC和gRPC ...

  3. 6.14 YZBOI模拟赛solution

    \(6.14\ YZBOI\)模拟赛\(solution\) 本来不想写题解来着...毕竟是自己找的题还是写一写吧 上午为了整活,就把赛制改成\(IOI\)赛制了,于是乎拯救了大家的\(70pts\) ...

  4. BootStrap详解

    1. bootstrap的安装和使用 官网: https://getbootstrap.com/ 中文网: https://www.bootcss.com/ 菜鸟驿站教程网: https://www. ...

  5. Luogu P5030 长脖子鹿放置(网络流)

    匈牙利T了,Dinic飞了... 按奇偶连 #include <cstdio> #include <iostream> #include <cstring> #in ...

  6. 搞定面试官 - 你可以介绍一下在 MySQL 中,哪些情况下 索引会失效嘛?

    大家好,我是程序员啊粥,前边给大家分享了 *MySQL InnoDB 索引模型 在 MySQL InnoDB 中,为什么 delete 删除数据之后表数据文件大小没有变 如何计算一个索引的长度 如何查 ...

  7. nmtui 字符界面图形模式配置

    一.通过nmtui配置网络参数 Linux系统配置网络参数的方式有很多种,其中最简单最直接的方式就是直接修改网卡配置文件,但这种方式也很容易出错,比如说IPADDR.NETMASK.GATEWAY等参 ...

  8. java学习第二天面向对象.day07

    变量的生命周期 成员变量:存储在堆内存中,随着对象的销毁而销毁 局部变量:存储在栈内存中,随着所定义方法的调用结束而销毁 局部变量存储在方法中,每次调用方法都会在栈空间开辟一块内存空间--栈帧,方法调 ...

  9. 通过cpu热插拔解决rcu stall的问题

    在linux 3.10环境一次故障处理中,发现有类似如下打印: NFO: rcu_sched_state detected stalls on CPUs/tasks: {15 } (detected ...

  10. 自定义注解,利用AOP实现日志保存(数据库),代码全贴,复制就能用

    前言 1,在一些特定的场景我们往往需要看一下接口的入参,特别是跨系统的接口调用(下发,推送),这个时候的接口入参就很重要,我们保存入参入库,如果出问题就可以马上定位是上游还是下游的问题(方便扯皮) 2 ...