一、数据库存储引擎介绍
数据库存储引擎是数据库底层软件组件,数据库管理系统(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拥有较高的插入、查询速度、但不支持事务。