4.1 MySQL存储引擎

MySQL存储引擎

存储引擎实际上就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据。存储引擎也可以称为表类型。

(1)查看MySQL支持的存储引擎

查看当前MySQL数据库支持的存储引擎有两种方式:

① show engines;

②show variables like ‘have%’;

语法格式:

SHOW ENGINES;

说明:上述语句可以使用分号“;”结束,也可以使用“\g”或者“\G”结束,其中,“\g”的作用于分号作用相同,而”\G”可以让结果更加美观。

(2)存储引擎简介

①InnoDB存储引擎是事务(Transaction)安全的,并且支持外键(foreign key)。需要执行大量的增、删、改操作(即insert、delete、update语句),出于事务安全方面的考虑,InnoDB存储引擎是更好的选择。

从MySQL 5.6版本开始,InnoDB存储引擎的表已经支持全文索引。

对于InnoDB存储引擎的数据库表而言,存在表空间的概念,InnoDB表空间分为共享表空间与独享表空间。

②如果某个表主要提供OLAP支持,建议选用MyISAM存储引擎。MyISAM具有检查和修复表的大多数工具。

MyISAM表可以被压缩,而且最早支持全文索引,但MyISAM表不是事务安全的,也不支持外键(foreign key)。

如果某张表需要执行大量的select语句,出于性能方面的考虑,MyISAM存储引擎是更好的选择。

③Memory存储引擎(之前称为HEAP存储引擎)将表中的数据存放在内存中,如果数据库重启或发生崩溃,表中的数据都将消失。

它非常适合用于存储临时数据的临时表,以及数据仓库中的纬度表。它默认使用哈希(HASH)索引,而不是我们熟悉的B+树索引。

优势:速度非常快

缺点:只支持表锁,并发性能较差,并且不支持TEXT和BLOB列类型,会浪费内存。

(3)存储引擎的选择

①MyISAM存储引擎

适用场景是不需要事务支持、并发相对较低、数据修改相对较少、以读为主、数据一致性要求不是非常高。注意事项:尽量索引和顺序操作。

②InnoDB存储引擎

适用场景是需要事务支持、行级锁定对高并发有很好的适应能力,但需要确保查询是通过索引完成、数据更新较为频繁。注意事项;主键尽可能小

③MEMORY存储引擎

适用场景是需要很快的读写速度、对数据的安全性要求较低。

注意事项:不能是太大的表。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值