MSQL-->存储引擎
概述
MySQL体系结构图
Innodb引擎是在mysql的5.5版本之后的默认存储引擎。
Index是在引擎层次的,不同的存储引擎index的用法不同。
存储引擎就是存储数据,建立索引,更新查询数据等技术的实现方式。
存储引擎是基于表的而不是基于数据库的,故存储引擎又叫表的类型
语法
查询当前表的存储引擎类型
show create table 表名;
指定存储引擎
create table 表名(
...
)engine=存储引擎;
查询当前数据库支持的存储引擎
show engines;
存储引擎的特点
Innodb存储引擎的特点
- DML语句支持ACID模型
- 支持事务
- 行级索引,提高了并发访问的性能
- 支持外键,确保了数据的完整性和正确性
文件组成
每一个innodb表都对应了一个 xxx.idb 文件来存储该表的结构,数据
Innodb的逻辑存储结构图
表空间-->段-->区-->页-->行
Myism存储引擎的特点
特点
- 不支持事务
- 不支持外键
- 不支持行锁
- 支持表锁
- 访问速度很快
文件组成
一共myism表有三个文件
- xxx.sdi 存储表结构信息
- xxx.myd 存储表的数据信息
- xxx.myi 存储表的索引信息
Memory存储引擎的特点
特点
- 存储所在内存当作,一般用来当临时表使用
- 支持哈希索引
文件组成
xxx.sdi 存储表的结构
三张表的区别
特点 | Innodb | MyISAM | Memory |
---|---|---|---|
存储限制 | 64TB | 有 | 有 |
事务安全 | 支持 | --- | --- |
锁机制 | 行锁 | 表锁 | 表锁 |
B+tree索引 | 支持 | 支持 | 支持 |
Hash索引 | --- | --- | 支持 |
全文索引 | 5.6版本后支持 | 支持 | --- |
空间使用 | 高 | 底 | N/A |
内存使用 | 高 | 低 | 中等 |
批量插入的速度 | 低 | 高 | 高 |
支持外键 | 支持 | --- | --- |
存储引擎的选择
Innodb引擎
- 对事物的完整性有较高要求
- 在并发条件下要求事务一致性
- 数据操作除了插入和查询外包含了大量的更新删除操作
Myism引擎
- 以读取和插入为主,只进行少量的更新和删除操作
- 对数据的完整性和事务的并发性要求不高
Memory引擎
优点
将数据存储到内存中,访问速度极快
缺点
对表的大小有限制,太大的表无法存入,数据的安全性无法保障
用途
用作临时表或者缓存
MSQL-->存储引擎的更多相关文章
- mysql_存储引擎层-innodb buffer pool
buffer pool 是innodb存储引擎带的一个缓存池,查询数据时,首先从内存中查询 数据如果内存中存在的话直接返回. innodb buffer pool 和 qcache 的区别:Qcach ...
- 《MySQL技术内幕:InnoDB存储引擎》读书笔记
一.Mysql体系结构和存储引擎 1. 概念: 数据库:物理操作系统文件或其他形式文件类型的集合.(是文件的集合,是依照某种数据模型组织起来并存放于二级存储器中的数据集合.) ...
- MySQL数据库和InnoDB存储引擎文件
参数文件 当MySQL示例启动时,数据库会先去读一个配置参数文件,用来寻找数据库的各种文件所在位置以及指定某些初始化参数,这些参数通常定义了某种内存结构有多大等.在默认情况下,MySQL实例会按照一定 ...
- Mysql存储引擎及选择方法
0x00 Mysql数据库常用存储引擎 Mysql数据库是一款开源的数据库,支持多种存储引擎的选择,比如目前最常用的存储引擎有:MyISAM,InnoDB,Memory等. MyISAM存储引擎 My ...
- Mysql存储引擎比较
Mysql作为一个开源的免费数据库,在平时项目当中会经常使用到,而在项目当中我们的着重点一般在设计使用数据库上而非mysql本身上,所以在提到mysql的存储引擎时,一般都不曾知道,这里经过网上相关文 ...
- MongoDB 存储引擎:WiredTiger和In-Memory
存储引擎(Storage Engine)是MongoDB的核心组件,负责管理数据如何存储在硬盘(Disk)和内存(Memory)上.从MongoDB 3.2 版本开始,MongoDB 支持多数据存储引 ...
- TokuDB存储引擎
TokuDB是Tokutek公司开发的基于ft-index(Fractal Tree Index)键值对的存储引擎. 它使用索引加快查询速度,具有高扩展性,并支持hot scheme modifica ...
- MongoDB 存储引擎和数据模型设计
标签: MongoDB NoSQL MongoDB 存储引擎和数据模型设计 1. 存储引擎 1.1 存储引擎是什么 1.2 MongoDB中的默认存储引擎 2. 数据模型设计 2.1 内嵌和引用 2. ...
- 详细介绍Mysql各种存储引擎的特性以及如何选择存储引擎
最近业务上有要求,要实现类似oracle 的dblink linux版本 Server version: 5.6.28-0ubuntu0.14.04.1 (Ubuntu) 修改配置文件 /etc/ ...
- [MySQL Reference Manual]15. 其他存储引擎
15. 其他存储引擎 15. 其他存储引擎 15.1 设置存储引擎 15.2 MyISAM存储引擎 15.2.1 MyISAM启动选项 15.2.2 Key的空间要求 15.2.3 MyISAM表存储 ...
随机推荐
- 用好JAVA中的函数式接口,轻松从通用代码框架中剥离掉业务定制逻辑
大家好,又见面了. 今天我们一起聊一聊JAVA中的函数式接口.那我们首先要知道啥是函数式接口.它和JAVA中普通的接口有啥区别?其实函数式接口也是一个Interface类,是一种比较特殊的接口类,这个 ...
- jQuery基础入门(二)
jQuery 效果 显示和隐藏 在 jQuery 中可以使用 hide() 和 show() 方法来隐藏和显示 HTML 元素,以及使用 toggle() 方法能够切换 hide() 和 show() ...
- TS 泛型推断好难啊,看看你能写出来不
前言 最近做东西都在用ts,有时候写比较复杂的功能,如果不熟悉,类型写起来还是挺麻烦的.有这样一个功能,在这里,我们就不以我们现有的业务来举例了,我们还是已Animal举例,来说明场景.通过一个工厂来 ...
- Spring源码环境搭建
Spring源码在github上,地址是https://github.com/spring-projects/spring-framework/,选择5.3.x版本,直接从github上克隆项目网速很 ...
- 【深度学习】DNN房价预测
前言 我们使用深度学习网络实现波士顿房价预测,深度学习的目的就是寻找一个合适的函数输出我们想要的结果.深度学习实际上是机器学习领域中一个研究方向,深度学习的目标是让机器能够像人一样具有分析学习的能力, ...
- 【面试题】Vue中的$router 和 $route的区别
Vue中的$router 和 $route的区别 点击视频讲解更加详细 this.$route:当前激活的路由的信息对象.每个对象都是局部的,可以获取当前路由的 path, name, params, ...
- 【JDBC】学习路径8-连接池
为什么是连接池? 第一.受我们硬件资源的限制,我们的一些资源使用时有限制的比如我们的数据库 连接数和线程数.为了摆脱这些限制,我们就使用了池化技术来将这些资源限制在一定范围内. 第二.我们创建和销毁这 ...
- 【JDBC】学习路径6-SQL插入、修改、删除数据
第一章:插入使用.executeUpdate(); 返回的是受到影响的数据条数. public static boolean insert(String username,String passwor ...
- 【java】学习路线15-接口interface、匿名内部类、接口继承
class Learn03{ public static void main(String[] aa){ A b = new B(); //接口也可以用多态 b.me ...
- React Native入门 Enable live Reload
在开发项目时,有时一点点小修改就需要重新编译,打包,安装,效率比较低 RN 提供了一种实时重载 (Enable live Reload)的方式,来实现快速的调试开发,修改保存后会立刻载真机或模拟器中显 ...