个人主页:兜里有颗棉花糖
欢迎 点赞 收藏✨ 留言✉ 加关注本文由 兜里有颗棉花糖 原创
收录于专栏【MySQL学习专栏】
本专栏旨在分享学习MySQL的一点学习心得,欢迎大家在评论区讨论
概念:存储引擎作为MySQL中的核心部分,它是MySQL数据库中建立索引、更新/查询数据等技术的实现方式(不同的存储引擎建立索引、更新/查询数据的机制是不同的)。另外,存储引擎是基于数据库表的而不是基于数据库的,即一个数据库的多张表是可以选择不同存储引擎的,故存储引擎也被称之为表类型。
创建表的时候,我们是可以指定存储引擎的,如果不指定的话,默认的存储引擎就是InnoDB。
语法1:创建表时,要指定存储引擎,语法格式如下:
create table 表名(
字段1 字段1类型 [comment 字段1注释],
...
字段n 字段n类型 [comment 字段n注释]
) engine = innodb [comment 表注释];
概念:InnoDB时一种兼顾高可靠性和高性能的通用存储引擎,在MySQL5.5之后,InnoDB是默认的MySQL存储引擎。
InnoDB特点:
FOREIGN KEY
约束,保证数据的完整性和正确性。文件:
xxx.ibd
:xxx代表的是表名,InnoDB引擎的每张表都会对应这样一个表空间文件,存储该表的表结构(frm
、sdi
)、数据和索引。
参数:innodb_file_per_table
当启用该选项时,InnoDB会为数据库中的每个表创建单独的表空间文件。每个表都存储在自己的.ibd文件中,而不是存储在共享的系统表空间中。
InnoDB中的逻辑存储结构如下:
MyISAM是MySQL中早期的默认存储引擎。
MyISAM特点:
Memory存储引擎的表数据是存储在内容中的,所以会受到硬件问题、或者断电的影响,所以只能将这些表作为临时表或者缓存使用。
特点:
文件:
我们在选择存储引擎时,应该根据应用系统的特点选择合适的存储引擎。对于复杂的应用系统,还可以根据实际情况选择多种存储引擎进行组合。
InnoDB
:是MySQL中默认的存储引擎,支持事务、外键。如果应用对事务的完整性有比较高的要求,在并发条件下要求数据的一致性,数据操作除了插入和查询之外,还包括很多的更新、删除操作,这时我们选择InnoDB存储引擎比较合适。好了,以上就是本文的全部内容了,就到这里吧,再见啦友友们!!!