MySQL存储引擎

存储引擎

1、简介

数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。

因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(Table Type,即存储和操作此表的类型)。

存储引擎说白了就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和操作此表的类型)。

在Oracle 和SQL Server等数据库中只有一种存储引擎,所有数据存储管理机制都是一样的。而MySQL数据库提供了多种存储引擎。用户可以根据不同的需求为数据表选择不同的存储引擎,用户也可以根据自己的需要编写自己的存储引擎。

2、存储引擎种类

MyISAM、InnoDB、BDB、MEMORY、MERGE、EXAMPLE、NDBCluster、ARCHIVE、CSV、BLACKHOLE、FEDERATED等

3、不同的存储引擎有什么区别

主要从以下几点来回答就可以(问题的核心),这个问题我们主要研究的是:MyISAM、InnoDB、Memory这三个引擎的区别,那其实我们下面的表格就已经能说明问题了:

种类锁机制B-树索引哈希索引外键事务索引缓存数据缓存
MyISAM表锁支持不支持不支持不支持支持不支持
InnoDB行锁支持不支持支持支持支持支持
Memory表锁支持支持不支持不支持支持支持

4、查看当前MySQL版本都支持哪些存储引擎

如下命令:

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

…后面还有很多支持的存储引擎,这里限于篇幅,就不粘贴完整的内容了,Support后面是DEFAULT,表示当前使用的存储引擎,上面是InnoDB。

5、更改存储引擎

(1)可以在创建表的时候指定存储引擎

CREATE TABLE ai (
	i BIGINT(20) NOT NULL AUTO_INCREMENT,
	PRIMARY KEY (i)
	) ENGINE=InnoDB DEFAULT CHARSET=utf8;

(2)可以修改已存在表的存储引擎

ALTER TABLE user  ENGINE = InnoDB;

(3)修改配置文件

还可以修改配置文件,MySQL Server启动的时候都会加载一个配置文件,windows下是my.ini文件,linux下是my.cnf文件,打开配置文件,在[mysqld]下面添加如下内容,保存,重启MySQL Server服务器,默认就采用配置项指定的存储引擎了。记得操作之后一定要保存再重新启动Mysql服务,需要新建数据库老的数据库用的还是老的存储引擎。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值