存储引擎
什么是存储引擎,有什么用?
- 存储引擎是MySQL中特有的一个术语,其他数据库中没有(Oracle中有,但不叫这个名字)
- 存储引擎实际上是一个表存储/组织数据的方式
- 不同的存储引擎,表存储数据的方式不同
怎么给表添加/指定"存储引擎"呢?
show create table t_student;
可以在建表的时候给表指定存储引擎
CREATE TABLE `t_student` (
`no` int NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
`cno` int DEFAULT NULL,
PRIMARY KEY (`no`),
KEY `cno` (`cno`),
CONSTRAINT `t_student_ibfk_1` FOREIGN KEY (`cno`) REFERENCES `t_class` (`classno`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
在建表的时候可以在最后小括号")"的右边使用:
- ENGINE来指定存储引擎
- CHARSET来指定这张表的字符编码方式
结论:
mysql默认的存储引擎是:InnoDB
mysql默认的字符编码方式是:utf8
#建表时指定存储引擎,以及字符编码方式
create table t_product(
id int,
name varchar(255)
)engine = InnoDB default charset = utf8;
drop table t_product;
show tables;
show create table t_product;
查看MySQL支持哪些搜索引擎
命令:show engines \G
关于MySQL常用的存储引擎
MyISAM存储引擎
- 他管理的表具有以下特征:
- 使用三个文件表示每个表
- 格式文件 - 存储表结构的定义(mytable.frm)
- 数据文件 - 存储表行上的内容(mytable.MYD)
- 索引文件 - 存储表上索引(mytable.MYI):索引是一本书的目录,缩小扫描范围,提高查询效率,可被转换为压缩、只读表来节省空间
对于一张表来说,只要是主键,或者加有unique约束的字段会自动创建索引
InnoDB存储引擎
优点:安全,支持事务
缺点:效率低,不能压缩,不能转换为只读,不能很好的节省存储空间
MEMORY存储引擎
优点:查询效率是最高的
缺点:不安全,关机之后数据消失,因为数据和索引都是在内存当中
标签:存储,show,MySQL,引擎,table,cno 来源: https://www.cnblogs.com/cedric1114/p/15321676.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。