mysql 存储引擎介绍1

1.1  存储引擎的使用

  • 数据库中的各表均被(在创建表时)指定的存储引擎来处理。
  • 服务器可用的引擎依赖于以下因素:
    • MySQL的版本
    • 服务器在开发时如何被配置
    • 启动选项
  • 为了解当前服务器中有哪些存储引擎可用,可使用SHOW ENGINES语句:

mysql> SHOW ENGINES\G

  • 在创建表时,可使用ENGINE选项为CREATE TABLE语句显式指定存储引擎。

CREATE TABLE t (i INT) ENGINE = MyISAM;

  • 如果在创建表时没有显式指定存储引擎,则该表使用当前默认的存储引擎
  • 默认的存储引擎可在my.ini配置文件中使用default-storage-engine选项指定。
  • 现有表的存储引擎可使用ALTER TABLE语句来改变:

  ALTER TABLE t ENGINE = INNODB;

  • 为确定某表所使用的存储引擎,可以使用SHOW CREATE TABLE或SHOW TABLE STATUS语句:

  mysql> SHOW CREATE TABLE emp\G

  mysql> SHOW TABLE STATUS LIKE ‘emp‘ \G

1.2 常用的存储引擎

1.2.1  MyISAM存储引擎

  • MyISAM存储引擎是MySQL最常用的引擎。
  • 它管理的表具有以下特征:

  –         使用三个文件表示每个表:

  • 格式文件 — 存储表结构的定义(mytable.frm)
  • 数据文件 — 存储表行的内容(mytable.MYD)
  • 索引文件 — 存储表上索引(mytable.MYI)

  –       灵活的AUTO_INCREMENT字段处理

  –    可被转换为压缩、只读表来节省空间

1.2.2 InnoDB存储引擎

  • InnoDB存储引擎是MySQL的缺省引擎。
  • 它管理的表具有下列主要特征:

  –        每个InnoDB表在数据库目录中以.frm格式文件表示

  –        InnoDB表空间被用于存储表的内容

  –        提供一组用来记录事务性活动的日志文件

  –        用COMMIT(提交)、SAVEPOINT及ROLLBACK(回滚)支持事务处理

  –        提供全ACID兼容

  –        在MySQL服务器崩溃后提供自动恢复

  –        多版本(MVCC)和行级锁定

  –        支持外键及引用的完整性,包括级联删除和更新

1.2.3 MEMORY存储引擎

  • 使用MEMORY存储引擎的表,其数据存储在内存中,且行的长度固定,这两个特点使得MEMORY存储引擎非常快。
  • MEMORY存储引擎管理的表具有下列特征:

  –        在数据库目录内,每个表均以.frm格式的文件表示。

  –        表数据及索引被存储在内存中。

  –        表级锁机制。

  –        不能包含TEXT或BLOB字段。

  • MEMORY存储引擎以前被称为HEAP引擎。
  • 当创建表时,应根据表的应用场景选择适合的存储引擎。
  • MyISAM表最适合于大量的数据读而少量数据更新的混合操作。

1.3 选择合适的存储引擎

MyISAM表的另一种适用情形是使用压缩的只读表。

  • 如果查询中包含较多的数据更新操作,应使用InnoDB。其行级锁机制和多版本的支持为数据读取和更新的混合操作提供了良好的并发机制。
  • 可使用MEMORY存储引擎来存储非永久需要的数据,或者是能够从基于磁盘的表中重新生成的数据。
时间: 2024-08-24 12:22:30

mysql 存储引擎介绍1的相关文章

数据库 之 Mysql存储引擎介绍

1  存储引擎概念介绍 存储引擎其实就是如何实现存储数据,如何为存储的数据建立索引以及如何更新,查询数据等技术实现的方法.数据库中的存储引擎其实是对使用了该引擎的表进行某种设置,数据库中的表设定了什么存储引擎,那么该表在数据存储方式.数据更新方式.数据查询性能以及是否支持索引等方面就会有不同的"效果". 通过选择不同的存储引擎,获得额外的速度或者功能,从而改善服务器的应用的整体功能.例如,如果你在研究大量的临时数据,你也许需要使用内存MySQL存储引擎.内存存储引擎能够在内存中存储所有

mysql 存储引擎介绍

一  存储引擎解释 首先确定一点,存储引擎的概念是MySQL里面才有的,不是所有的关系型数据库都有存储引擎这个概念,后面我们还会说,但是现在要确定这一点. 在讲清楚什么是存储引擎之前,我们先来个比喻,我们都知道录制一个视频文件,可以转换成不同的格式,例如mp4,avi,wmv等,而存在我们电脑的磁盘上也会存在于不同类型的文件系统中如windows里常见的ntfs.fat32,存在于linux里常见的ext3,ext4,xfs,但是,给我们或者用户看懂实际视频内容都是一样的.直观区别是,占用系统的

MySQL存储引擎介绍 w

一 存储引擎解释 首先确定一点,存储引擎的概念是MySQL里面才有的,不是所有的关系型数据库都有存储引擎这个概念,后面我们还会说,但是现在要确定这一点. 在讲清楚什么是存储引擎之前,我们先来个比喻,我们都知道录制一个视频文件,可以转换成不同的格式,例如mp4,avi,wmv等,而存在我们电脑的磁盘上也会存在于不同类型的文件系统中如windows里常见的ntfs.fat32,存在于linux里常见的ext3,ext4,xfs,但是,给我们或者用户看懂实际视频内容都是一样的.直观区别是,占用系统的空

第三章 MySQL存储引擎介绍

1 MySQL存储引擎的概念 MySQL中数据用各种不同的技术存储在文件(或内存)中,这些技术都使用不同的存储机制.索引技巧,锁定水平,并且最终提供广泛的.不同的功能,通过选择不同的技术,能够获得额外的速度或功能,从而改善整体功能. SQLServer和Oracle都使用了一种存储引擎,而MySQL有多种存储引擎. 所谓的存储引擎,其实就是表的类型 2 查询MySQL中支持的存储引擎 show engines; show engines \g show variables like 'have%

MySQL存储引擎介绍

MySQL主要有两个层次组成:MySQL核心[MySQL服务器层].插件式存储引擎    MySQL处理机制无论在核心上如何被解析,最后如果真正实现跟文件系统上的文件交互时,一定要经过存储引擎来完成.真正把MySQL操作接收下来并提交给底层文件上对应的数据完成操作,并将结果返回给上层MySQL核心的是MySQL存储引擎,各存储引擎通过统一的API向MySQL服务器提供一个统一的数据存取.加锁等操作.        MySQL内部表状态信息查看,使用  show table status like

mysql 存储引擎 介绍

一.InnodDB InnoDB表是基于聚蔟索引建立的,默认级别是 REPEATABLE_READ(可重复读),支持热备份,mysql 的其它引擎不支持. 支持行级锁,用来处理大量的 短期事务.InnodDB的性能和自动崩溃恢复特性,但得它在非事务型存储的需求中中也很流行.除非有非常的特别的原因需要使用其它的存储引擎,否则应该优先考虑InnoDB引擎. 二.MyISAM MyISAM提供了大量的特性,包括全文索引.压缩.空间函数(GIS)等,但MyISAM不支持事务和行级锁而且有一个毫无疑问的缺

mysql 存储引擎介绍2

了解MYSQL的都知道,在MYSQL中建立任何一张数据表,在其数据目录对应的数据库目录下都有对应表的.frm文件,.frm文件是用来保存每个数据表的元数据(meta)信息,包括表结构的定义等,.frm文件跟数据库存储引擎无关,也就是任何存储引擎的数据表都必须有.frm文件,命名方式为数据表名.frm,如user.frm. .frm文件可以用来在数据库崩溃时恢复表结构. MySQL文件包括MySQL所建数据库文件和MySQL所用引擎创建的数据库文件. .frm 文件与操作系统和数据库引擎无关,都有

mysql存储引擎介绍,索引

区别: MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持.MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能.两种类型最主要的差别就是Innodb  支持事务处理与外键和行级锁.而MyISAM不支持.myisam不支持事务,也不支持外键,其优势是访问速度快(INNODB在做SELECT的时候,要维护的东西比MYISAM引擎多很多,并且会占用更多的磁盘空间以保留数据和索引),对事务完整性没有要

02: MySQL 索引类型 、 MySQL 存储引擎

day02一.mysql索引二.MySQL存储引擎+++++++++++++++++++++++++++++++++++一.mysql索引1.1 索引介绍 : 相当于 "书的目录" 5000页1~200 目录信息拼音排序部首排序笔画排序 201~5000 正文 1.2 索引的优点与缺点?优点 加快查询的速度缺点 占用物理存储空间,减慢写的速度. 姓名 性别 班级 年龄jimjimNULL 1.3 使用普通索引index:(在表中的字段上创建索引)使用规则?查看 desc 表名: key