存储过程:是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行
存储过程其实就是SQL语言层面的代码封装和重用
存储引擎的定义:MySQL中的数据用各种不同的技术存储在文件中,不同的技术以及配套的相关功能在MySQL中被称作为存储引擎
不同的存储引擎,我们的数据的存储格式也会不一样的,就好比图片有不同的格式,比如:.jpg ,.png,.gif等
一 MyISAM
每个MyISAM表都以3个文件存储在磁盘中。这些文件的名称以表名开头,以扩展名指示文件类型
.frm 文件(frame) 存储表结构
.MYD 文件(my data) 存储表数据
.MYI文件(my index) 存储表索引
MySQL 里的数据默认是存放在安装目录下的data文件夹中,也可以自己修改
表逻辑上相邻的记录行数据在磁盘上并不一定是物理相邻的
二 InnoDB
InnoDB表底层会对应2个文件在文件夹中进行数据存储
.frm 文件(frame)存储表结构;
.ibd 文件(InnoDB Data) 存储表索引+数据
.ibd存储数据的特点就是B+tree的叶子节点上包括了我们要的索引和该索引所在行的其他列数据。
为什么推荐使用整型自增?
首先整型的占用空间