mysql数据库的engine_MySQL札记13_数据库引擎Engine

在MySQL数据库中常用的引擎有两种:MyISAM和InnoDB。其他的还有BLOCKHOLE、CSV、MEMORY、Archive

什么是存储引擎

MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平,并且最终提供广泛的、不同的功能和能力。通过选择不同的技术,能够获得额外的速度或者功能,从而改善应用的整体功能。

不同的存储方式使用不同的存储技巧

不同的存储方式带来不同的性能体验

常用的存储引擎

存储引擎主要有:

MyIsam

InnoDB

Mrg_Myisam

Memory

Blackhole

CSV

Performance_Schema

Archive

Federated

怎么查看MySQL数据库引擎

mysql> show engines;

5315d6b30eae

image.png

或者带上参数G

mysql> show engines\G;

*************************** 1. row ***************************

Engine: InnoDB

Support: DEFAULT

Comment: Supports transactions, row-level locking, and foreign keys

Transactions: YES

XA: YES

Savepoints: YES

*************************** 2. row ***************************

Engine: MRG_MYISAM

Support: YES

Comment: Collection of identical MyISAM tables

Transactions: NO

XA: NO

Savepoints: NO

*************************** 3. row ***************************

Engine: MEMORY

Support: YES

Comment: Hash based, stored in memory, useful for temporary tables

Transactions: NO

XA: NO

Savepoints: NO

*************************** 4. row ***************************

Engine: BLACKHOLE

Support: YES

Comment: /dev/null storage engine (anything you write to it disappears)

Transactions: NO

XA: NO

Savepoints: NO

*************************** 5. row ***************************

Engine: MyISAM

Support: YES

Comment: MyISAM storage engine

Transactions: NO

XA: NO

Savepoints: NO

*************************** 6. row ***************************

Engine: CSV

Support: YES

Comment: CSV storage engine

Transactions: NO

XA: NO

Savepoints: NO

*************************** 7. row ***************************

Engine: ARCHIVE

Support: YES

Comment: Archive storage engine

Transactions: NO

XA: NO

Savepoints: NO

*************************** 8. row ***************************

Engine: PERFORMANCE_SCHEMA

Support: YES

Comment: Performance Schema

Transactions: NO

XA: NO

Savepoints: NO

*************************** 9. row ***************************

Engine: FEDERATED

Support: NO

Comment: Federated MySQL storage engine

Transactions: NULL

XA: NULL

Savepoints: NULL

9 rows in set (0.00 sec)

ERROR:

No query specified

查看创建表时的引擎

MySQL5.6之后默认的引擎是InnoDB:show create table student;

5315d6b30eae

image.png

创建表时直接指定引擎

mysql> create table test (name varchar(20)) ENGINE=MyIsam;

Query OK, 0 rows affected (0.01 sec)

# 查看索引

mysql> show create table test;

+-------+----------------------------------------------------------------------------------------------+

| Table | Create Table |

+-------+----------------------------------------------------------------------------------------------+

| test | CREATE TABLE `test` (

`name` varchar(20) DEFAULT NULL

) ENGINE=MyISAM DEFAULT CHARSET=utf8 |

+-------+----------------------------------------------------------------------------------------------+

1 row in set (0.00 sec)

如果不指定,默认是InnoDB

5315d6b30eae

image.png

MyIsam 和InnoDB对比

MyIsam

InnoDB

支持全文索引

支持全文索引(5.6以后开始支持,之前的版本不支持)

不支持事务

支持事务

表级锁

行级锁,外键约束

性能较差

性能较好(比较而言)

主要功能是查和增加,效率高

主要增强事务,效率低

崩溃恢复差

崩溃恢复好,通过bin-log日志

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值