Mysql的存储引擎的类型,MyISAM&InnoDB等

部分文字参考其他博客或者文字。

官方解释:

· MyISAM:默认的MySQL插件式存储引擎,它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。注意,通过更改STORAGE_ENGINE配置变量,能够方便地更改MySQL服务器的默认存储引擎。

· InnoDB:用于事务处理应用程序,具有众多特性,包括ACID事务支持。

· BDB:可替代InnoDB的事务引擎,支持COMMIT、ROLLBACK和其他事务特性。

· Memory:将所有数据保存在RAM中,在需要快速查找引用和其他类似数据的环境下,可提供极快的访问。

· Merge:允许MySQL DBA或开发人员将一系列等同的MyISAM表以逻辑方式组合在一起,并作为1个对象引用它们。对于诸如数据仓储等VLDB环境十分适合。

· Archive:为大量很少引用的历史、归档、或安全审计信息的存储和检索提供了完美的解决方案。

· Federated:能够将多个分离的MySQL服务器链接起来,从多个物理服务器创建一个逻辑数据库。十分适合于分布式环境或数据集市环境。

· Cluster/NDB:MySQL的簇式数据库引擎,尤其适合于具有高性能查找要求的应用程序,这类查找需求还要求具有最高的正常工作时间和可用性。

· Other:其他存储引擎包括CSV(引用由逗号隔开的用作数据库表的文件),Blackhole(用于临时禁止对数据库的应用程序输入),以及Example引擎(可为快速创建定制的插件式存储引擎提供帮助)。

对于整个服务器或方案,可以为方案中的每个表使用不同的存储引擎,已达到需要的目标和效果。

任何一种表都不是万能的,只用恰当的针对业务类型来选择合适的表类型,才能最大的发挥MySQL的性能优势.

MyISAM&InnoDB一些细节上差别

1.InnoDB不支持FULLTEXT类型的索引。

2.InnoDB中不保存表的 具体行数,也就是说,执行select count() from table时,InnoDB要扫描一遍整个表来计算有多少行,但是MyISAM只要简单的读出保存好的行数即可。注意的是,当count()语句包含 where条件时,两种表的操作是一样的。

3.对于AUTO_INCREMENT类型的字段,InnoDB中必须包含只有该字段的索引,但是在MyISAM表中,可以和其他字段一起建立联合索引。

4.MySQL Administrator建数据库的时候,表缺省是InnoDB类型。

5.MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。 6.MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持,外键等高级数据库功能。

7.MyISAM类型的二进制数据文件可以在不同操作系统中迁移。也就是可以直接从Windows系统拷贝到linux系统中使用。

一些相关的命令

1.查看表信息,里面包括使用的引擎类型,字符编码,表结构等

mysql> show create table t1;–t1是表名

  1. 可以执行以下命令来切换非事务表到事务(数据不会丢失),innodb表比myisam表更安全:

    alter table t1 type=innodb;–t1是表名

  2. innodb表不能用repair table命令和myisamchk -r table_name

    但可以用check table t1,以及mysqlcheck [OPTIONS] database [tables]

  3. 启动mysql数据库的命令行中添加了以下参数可以使新发布的mysql数据表都默认为使用事务(

    只影响到create语句。)

    –default-table-type=InnoDB

  4. 临时改变默认表类型可以用:

    set table_type=InnoDB;

时间: 2024-11-08 22:58:43

Mysql的存储引擎的类型,MyISAM&InnoDB等的相关文章

mysql数据库存储引擎及区别

MySQL有多种存储引擎,每种存储引擎有各自的优缺点,可以择优选择使用:MyISAM.InnoDB.MERGE.MEMORY(HEAP).BDB(BerkeleyDB).EXAMPLE.FEDERATED.ARCHIVE.CSV.BLACKHOLE. mysql的存储引擎包括:MyISAM.InnoDB.BDB.MEMORY.MERGE.EXAMPLE.NDBCluster.ARCHIVE.CSV.BLACKHOLE.FEDERATED等,其中InnoDB和BDB提供事务安全表,其他存储引擎都是

MySQL各存储引擎特点及选择建议

Mysql官方存储引擎比较常见的存储引擎有:Innodb.MyISAM.Memory.Archive.NDB.BDB,第三方比较有名的:TokuDB.Infobright.InnfiniDB.XtraDB(Innodb增强版本) 官方存储引擎的特点对比 MySQL存储引擎比较 特性 MyISAM InnoDB Memory Archive NDB BDB 存储限制   No   64TB   Yes   No   Yes    No 事务   √      √ MVCC   √  √   √  

[转帖]mysql常用存储引擎(InnoDB、MyISAM、MEMORY、MERGE、ARCHIVE)介绍与如何选择

mysql常用存储引擎(InnoDB.MyISAM.MEMORY.MERGE.ARCHIVE)介绍与如何选择原创web洋仔 发布于2018-06-28 15:58:34 阅读数 1063 收藏展开 https://blog.csdn.net/CSDN___LYY/article/details/80844606 一:前言 数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建.查询.更新和删除数据.不同的存储引擎提供不同的存储机制.索引技巧.锁定水平等功能,使用不同的

MySQL表类型MyISAM/InnoDB的区别(解决事务不回滚的问题)(转)

MyISAM:这个是默认类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的顺序访问方法) 的缩写,它是存储记录和文件的标准方法.与其他存储引擎比较,MyISAM具有检查和修复表格的大多数工具. MyISAM表格可以被压缩,而且它们支持全文搜索.它们不是事务安全的,而且也不支持外键.如果事物回滚将造成不完全回滚,不具有原子性.如果执行大量的SELECT,MyISAM是更好的选择. InnoDB:这种类型是事务安全的.它与BDB类

浅谈MySql的存储引擎(表类型) (转)

什么是MySql数据库 通常意义上,数据库也就是数据的集合,具体到计算机上数据库可以是存储器上一些文件的集合或者一些内存数据的集合. 我们通常说的MySql数据库,sql server数据库等等其实是数据库管理系统,它们可以存储数据,并提供查询和更新数据库中的数据的功能等等.根据数据库如何存储数据和如何操作数据的实现机制不同,这些数据库之间即有区别又有共同点. MySql数据库是开放源代码的关系型数据库.目前,它可以提供的功能有:支持sql语言.子查询.存储过程.触发器.视图.索引.事务.锁.外

浅谈MySql的存储引擎(表类型)

来源:http://www.cnblogs.com/lina1006/archive/2011/04/29/2032894.html 什么是MySql数据库 通常意义上,数据库也就是数据的集合,具体到计算机上数据库可以是存储器上一些文件的集合或者一些内存数据的集合.    我们通常说的MySql数据库,sql server数据库等等其实是数据库管理系统,它们可以存储数据,并提供查询和更新数据库中的数据的功能等等.根据数据库如何存储数据和如何操作数据的实现机制不同,这些数据库之间即有区别又有共同点

MySQL 存储引擎 字段类型 约束条件

? 1.存储引擎 ? - 存储引擎是用于根据不同的机制处理不同的数据. ? - 查看mysql中所有引擎: ? - show engines; - myisam: 5.5以前老的版本使用的存储引擎 - blackhole: 类似于队列中的数据,存进去消失 - innodb: 默认使用存储引擎 - 支持事务 - 行锁 - 外键 - memory: 通电数据存在,断电丢失 create table t1(id int)engine=innodb; create table t2(id int)eng

主流存储引擎详解:Innodb,Tokudb、Memory、MYISAM、Federated

主流存储引擎: Innodb:推荐使用,主力引擎,使用99%以上的场景 Tokudb:高速写入使用,日用量大量写入eg:500G可压缩为50G.适用于访问日志的写入,相对MYISAM有事务性,相对于INnodb有很好的压缩性. Inforbbright/InFiniDB,OLAP环境:劣势的存储引擎,主要运用在OLAP场景中,InFiniDB社区版可以支持队形计算. Memory:根据需要使用,速度快,不支持并发 Federated:跨网络使用的一个引擎(默认不激活) Ndbcluster:my

MySQL常用存储引擎

MySQL存储引擎主要有两大类: 1. 事务安全表:InnoDB.BDB. 2. 非事务安全表:MyISAM.MEMORY.MERGE.EXAMPLE.NDB Cluster.ARCHIVE.CSV.BLACKHOLE.FEDERATED等. MySQL默认的存储引擎是MyISAM(5.7版本中默认为InnoDB). 配置文件中设置默认存储引擎的参数: default-table-type. 查询当前数据库支持的存储引擎: show engines; show variables like 'h