搜索
写经验 领红包
 > 情感

为啥mysql建议使用整型作为主键的函数(mysql中整型可以分为哪几种)

导语:为啥mysql建议使用整型作为主键

数据类型示例:

列名

类型

id

int

name

varchar

createtime

bigint

InnoDB主键索引与辅助索引的结构1. 主键索引:

我们已经知道InnoDB索引是聚集索引,它的索引和数据是存入同一个.idb文件中的,因此它的索引结构是在同一个树节点中同时存放索引和数据,如下图中最底层的叶子节点有三行数据,对应于数据表中的id、name、createtime数据项。

2. 辅助(非主键)索引:

这次我们以数据表中的name列的字符串数据建立辅助索引,它的索引结构跟主键索引的结构有很大差别,我们来看下面的图.在最底层的叶子结点有两行数据,第一行的字符串是辅助索引,按照ASCII码进行排序,第二行的整数是主键的值。

为什么主键要使用整型类型:聚簇索引的数据的物理存放顺序与索引顺序是一致的:只要索引是相邻的,那么对应的数据一定也是相邻地存放在磁盘上的。如果主键不是自增id,不断地调整数据的物理地址、分页。如果是自增的,索引结构相对紧凑,磁盘碎片少,效率也高。索引查询的时候整型比字符串要快。

本文内容由小岑整理编辑!