存储引擎:
常用引擎的特性对比:
引擎的操作:
查询数据库支持的引擎
SHOW ENGINES;
查询某个数据库中所有数据表的引擎
SHOW TABLE STATUS FROM 数据库名称;
SHOW TABLE STATUS FROM db5;
查询某个数据库中某个数据表的引擎
SHOW TABLE STATUS FROM 数据库名称 WHERE NAME = '数据表名称';
SHOW TABLE STATUS FROM db5 WHERE NAME = 'stu_score';
创建数据表,指定存储引擎
CREATE TABLE 表名(
列名,数据类型,
...
)ENGINE = 引擎名称;
CREATE TABLE test_engine(
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(10)
)ENGINE = MYISAM;
SHOW TABLE STATUS FROM db5 WHERE NAME = 'test_engine';
修改表的存储引擎
ALTER TABLE 表名 ENGINE = 引擎名称;
ALTER TABLE test_engine ENGINE = INNODB;
SHOW TABLE STATUS FROM db5 WHERE NAME = 'test_engine';
存储引擎选择_MyISAM :
特点:
不支持事务、外键,读取速度快,节约资源
使用场景:
如果应用是以查询、插入操作为主,只有很少的更新和删除操作,并且对事务的完整性、并发性要求不是很高
存储引擎选择_InnoDB :
特点:
是MySQL的默认存储引擎, 支持事务、外键、行级锁定 ,辅助索引、高缓存
使用场景:
对事务的完整性有比较高的要求,在并发条件下要求数据的一致性,读写频繁的操作,比如BBS、计费系统、充值转账等
存储引擎选择_MEMORY:
特点:
数据在内存中,在需要快速定位记录和其他类似数据环境下,可以提供更快的访问
使用场景:
通常用于更新不太频繁的小表,用以快速得到访问结果
|