资讯专栏INFORMATION COLUMN

mysql数据库存储引擎

MAX_zuo / 728人阅读

摘要:不同的存储引擎使用不同的存储机制索引机制锁定水平,根据实际需求选择不同的存储引擎。引擎所有表的数据存储在内存中,数据库重启和崩溃数据即将消失。如果只是临时存放数据,数据量不大,以选择将数据保存在内存中的引擎。

一、存储引擎概念

数据库就是存放数据的仓库。至于怎么存储,就涉及到存储引擎。

不同的存储引擎使用不同的存储机制、索引机制、锁定水平,根据实际需求选择不同的存储引擎。

二、mysql支持的存储引擎

MyISAM、InnoDB、Memory、CSV、Archive

常用的:MyISAM、InnoDB

三、各种存储引擎比较

mysql引擎有很多,只介绍以下通用的引擎。

MyISAM引擎

不支持事务操作,支持表级锁,支持创建索引,不支持外键,并发性能会低很多(表级锁),存储空间会占用比较小。

InnoDB引擎

支持事务操作,支持行级锁,支持创建索引,支持外键,允许并发量更大(行级锁),存储空间会占用比较大。InnoDB是默认的MySQL引擎。

memery 引擎

所有表的数据存储在内存中,数据库重启和崩溃数据即将消失。非常适合储存临时数据的临时表以及数据仓库的经纬表。

Archive引擎

Archive存储引擎只支持Insert和select操作,Archive存储引擎十分适合储存归档的数据,比如日志。使用行锁实现高并发的而操作。而且Archive存储引擎使用了zlib算法,将数据行进行压缩后储存,压缩比达1:10。

存储引擎的选择

1.如果要提供事物能力,并要求实现并发控制,InnoDB是一个好的选择。

2.如果数据表主要用来插入和查询记录,则MyISAM引擎能提供较高的处理效率。

3.如果只是临时存放数据,数据量不大,以选择将数据保存在内存中的Memory引擎。

4.如果只有INSERT和SELECT操作,可以选择Archive,如记录日志信息可以使用Archive。

四、设置表的存储引擎

1、查看表的引擎

SELECT TABLE_SCHEMA,TABLE_NAME,TABLE_TYPE,ENGINE FROM information_schema.TABLES WHERE TABLE_NAME = "TABLE_NAME";

SHOW CREATE TABLE TABLE_NAME;(也可从创建表的sql语句查看)。

SHOW TABLE STATUS where name ="TABLE_NAME"

2、修改表的引擎

ALTER TABLE TABLE_NAME ENGINE = InnoDB;

3.创建表时指定引擎

CREATE TABLE TABLE_NAME (ID INT) ENGINE=InnoDB;

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/71021.html

相关文章

  • 搞定PHP面试 - MySQL基础知识点整理 - 存储引擎

    摘要:支持崩溃后的安全恢复。的使用场景更新密集的表存储引擎特别适合处理多重并发的更新请求。外键约束支持外键的存储引擎只有。引擎是及之前版本的默认存储引擎。文件存储表的索引。引擎存储引擎是引擎的变种。 MySQL基础知识点整理 - 存储引擎 0. 查看 MySQL 支持的存储引擎 可以在 mysql 客户端中,使用 show engines; 命令可以查看MySQL支持的引擎: mysql> ...

    whatsns 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<