`
itace
  • 浏览: 178434 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

mysql三大引擎InnoDB,MyISAM,MEMORY(heap)

 
阅读更多

mysql三大引擎:InnoDB,MyISAM,MEMORY。

InnoDB:磁盘表,支持事务,支持行级锁,B+Tree索引

MyISAM:磁盘表,不支持事务,支持表级锁,B+Tree索引

MEMORY(Heap):内存表,不支持事务,表级锁,Hash索引,不支持Blob,Text大类型

 

mysql变量max_heap_table_size默认大小16777216 Byte (16m)

 

理论上说,只要你内存足够大,表就可以有多大,但是默认内存表默认的大小是64MB(如果我没有记错的话),如果我们要设置成自己想要的大小,我们需要在my.cnf文件中修改max_heap_table_size参数,修改完成后,要重启MySQL才会生效。如果我们的表满了以后,MySQL并不会把数据存储到硬盘中,而是直接报表已经满了的错误。

转:http://my.oschina.net/lanzp/blog/369179

 

show variables like '%table_size%';//单表最大大小为下面对应的值

result:(B)

max_heap_table_size16777216B

tmp_table_size                36700160B

 

 

1.临时表:表建在内存里,数据在内存里

2.内存表:表建在磁盘里,数据在内存里

内存表:

1. 通过参数控制:max_heap_table_size大小来设定内存表大小

2. 到达max_heap_table_size所设置的内存上限后报错。

3. 表定义保存在磁盘上,数据和索引保存在内存里面。

4. 不能包含TEXT、BLOB等字段。

临时表:

1. 通过参数控制:tmp_table_size大小来设定临时表大小。

2. 到达tmp_table_size上限后会在磁盘上创建临时文件。

3. 表定义和数据都在内存里。

4. 可以包含TEXT, BLOB等字段。

转:http://www.dewen.org/q/255/mysql+%E4%BB%80%E4%B9%88%E6%A0%B7%E6%83%85%E5%86%B5%E4%BD%BF%E7%94%A8%E4%B8%B4%E6%97%B6%E8%A1%A8%EF%BC%8C%E5%86%85%E5%AD%98%E8%A1%A8%E6%9D%A5%E5%8A%A0%E5%BF%AB%E9%80%9F%E5%BA%A6%EF%BC%9F

 

分享到:
评论

相关推荐

    MySQL数据库引擎快速指导

    默认情况下,MySQL安装时通常包括ISAM、MyISAM、HEAP以及InnoDB和Berkley DB(BDB)引擎。ISAM引擎是早期的传统数据库引擎,适用于读取操作远多于写入操作的场景,但不支持事务处理和错误恢复,因此在关键业务中需...

    MySQL数据库存储引擎探析.docx

    本文将深入探讨 MySQL 数据库中常用的存储引擎,包括 InnoDB、MyISAM、Memory(HEAP)和 Archive 等。 一、InnoDB 存储引擎 InnoDB 是 MySQL 的默认存储引擎,它提供了强大的事务处理、行级锁定和外键约束功能。...

    Mysql InnoDB引擎的索引与存储结构详解

    MySQL默认的存储引擎是MyISAM,其他常用的就是InnoDB,另外还有MERGE、MEMORY(HEAP)等。 主要的几个存储引擎 MyISAM管理非事务表,提供高速存储和检索,以及全文搜索能力。 MyISAM是Mysql的默认存储引擎。当create...

    mysql中的表引擎

    4. **Heap** 或Memory引擎,将数据存储在内存中,提供极高的读写效率,但数据的持久性较差,一旦MySQL服务停止,存储的数据会丢失。适用于临时表或者对数据丢失不敏感的场景。 5. **Berkley DB (BDB)** 引擎则提供...

    MySql的存储引擎.doc

    1. MyISAM是MySQL最早提供的引擎,分为静态、动态和压缩三种。静态MyISAM适合于数据列长度固定的表,具有较高的存取效率和易于恢复的优点,但不支持事务处理、行级锁定和外键约束。动态MyISAM节省空间,但易产生碎片...

    Mysql 表类型(存储引擎)

    - InnoDB是MySQL的默认存储引擎,它支持事务处理和行级锁定,这使得InnoDB在并发环境下表现出色,适用于需要高数据一致性和事务安全性的应用。 - InnoDB使用聚集索引,主键值被存储在每个数据行中,如果没有指定...

    MySQL之存储引擎

    1. **MyISAM**:这是MySQL的默认存储引擎(在某些旧版本中),它不支持事务处理和外键,但读取速度很快,适合于以SELECT和INSERT为主的表。每个MyISAM表由三个文件组成:`.frm`存储表定义,`.MYD`存储数据,`.MYI`...

    如何选择合适的MySQL存储引擎

    MySQL支持数个存储引擎作为对不同表的类型的处理器。...就像MyISAM一样,MEMORY和MERGE存储引擎处理非事务表,这两个引擎也都被默认包含在MySQL中。 注释:MEMORY存储引擎正式地被确定为HEAP引擎。 ◆ InnoDB和B

    如何选择合适的MySQL存储引擎.doc

    4. **MEMORY (HEAP)**:这个引擎将表数据存储在内存中,适合快速读取和写入操作,但数据不会持久化,一旦服务器重启,数据就会丢失。 5. **MERGE**:MERGE引擎允许将多个MyISAM表合并为一个逻辑表,这对于大数据...

    PostgreSQL与MySQL比较

    PostgreSQL和MySQL都支持多种存储引擎,包括MyISAM、InnoDB、Memory和Heap等。然而,PostgreSQL支持更多的存储引擎,包括NDB、Federated、CSV和XML等。 索引 PostgreSQL和MySQL都支持B-Tree、Hash和R-Tree等索引...

    mysql 存储引擎和表类型

    3. **MEMORY(HEAP)**:MEMORY存储引擎创建的表存储在内存中,数据读取速度极快,但一旦服务器关闭,表中的数据将丢失。由于完全依赖内存,因此表大小受限于可用内存。MEMORY适合临时存储和快速计算的场景。 4. **...

    mysql面试题(一些可能在MySQL面试中出现的问题)

    *MySQL 中的存储引擎包括 InnoDB、MyISAM、Memory(或称为Heap)、Archive、Blackhole、CSV、NDB Cluster 等。 *InnoDB 是 MySQL 默认的存储引擎,支持事务、具有 ACID 特性,适合事务处理和并发性要求较高的应用。 ...

    16-Mysql面试题(83题).pdf

    在MySQL中,InnoDB和MyISAM引擎分别使用B+树和B树作为索引结构。B+树的优点在于它将索引和数据分离,叶子节点包含了所有的索引字段和指向数据行的指针,非叶子节点仅包含键值,这使得B+树在范围查询时更为高效。而B...

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

    MySQL的一大特色是其插入式存储引擎机制,这意味着它允许用户为不同的数据表选择不同的存储方式,以满足特定的需求。存储引擎决定了数据如何存储、索引如何创建以及数据的更新和查询如何执行。由于数据在关系数据库...

    24道MySQL高频经典面试题(附答案)

    - **Heap(Memory)**:内存表,数据存储在内存中,速度极快,但断电数据丢失。 - **Merge**:合并多个MyISAM表,提供更高效的查询。 - **InnoDB**:支持事务,行级锁,支持外键,适合需要事务处理的场景。 - **...

    MySQL 5.1中文手冊

    15.1. MyISAM存储引擎 15.1.1. MyISAM启动选项 15.1.2. 键所需的空间 15.1.3. MyISAM表的存储格式 15.1.4. MyISAM表方面的问题 15.2. InnoDB存储引擎 15.2.1. InnoDB概述 15.2.2. InnoDB联系信息 15.2.3. InnoDB配置...

Global site tag (gtag.js) - Google Analytics