一、数据库存储引擎介绍
数据库存储引擎是数据库底层软件组件,数据库管理系统(DBMS)使用数据库存储引擎进行创建、查询、更新和删除数据操作。不同的存储引擎提供不同
的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能。
二、Mysql数据库存储引擎介绍
Mysql提供了多个不同的存储引擎,包括处理事务安全表的引擎和处理非事务安全表的引擎。在Mysql中,不需要在整个服务器中使用一种存储引擎,针对
具体的业务和场景,可以对每一个表使用不同的存储引擎。在Mysql5.7中支持的存储引擎有:InnoDB、MyISAM、Memory、Merge、Archive、Federated、CSV、BLACKHOLE等。
1.使用show engines语句查看系统所支持的引擎类型
mysql> show engines\G;
*************************** 1. row ***************************
Engine: MRG_MYISAM
Support: YES
Comment: Collection of identical MyISAM tables
Transactions: NO
XA: NO
Savepoints: NO
*************************** 2. row ***************************
Engine: CSV
Support: YES
Comment: CSV storage engine
Transactions: NO
XA: NO
Savepoints: NO
*************************** 3. row ***************************
Engine: MyISAM
Support: DEFAULT
Comment: Default engine as of MySQL 3.23 with great performance
Transactions: NO
XA: NO
Savepoints: NO
*************************** 4. row ***************************
Engine: InnoDB
Support: YES
Comment: Supports transactions, row-level locking, and foreign keys
Transactions: YES
XA: YES
Savepoints: YES
*************************** 5. row ***************************
Engine: MEMORY
Support: YES
Comment: Hash based, stored in memory, useful for temporary tables
Transactions: NO
XA: NO
Savepoints: NO
5 rows in set (0.00 sec)
ERROR:
No query specified
#support 列的值表示当前数据库管理系统支持的存储引擎是否能使用:YES表示可以使用,NO表示不能使用。DEFAULT表示该存储引擎是数据库管理系统默认使用的存储引擎
三、InnoDB存储引擎特点
InnoDB是事务型数据库的首选存储引擎,支持事务安全表,支持行锁定和外键,InnoDB给Mysql提供了具有提交、回滚和崩溃恢复能力的事务安全存储引擎。InnoDB锁定在行级并且也在select语句中提供了一个类似oracle的非锁定读,增加了多用户部署和性能
四、MyISAM存储引擎特点
MyISAM是基于ISAM的存储引擎,并对其进行扩展。它是在Web、数据存储和其他应用环境下最常用的存储引擎之一。MyISAM拥有较高的插入、查询速度、但不支持事务。