【Mysql】数据库表设计总结
- 主键的选择?
-
一般来说选择小的数据类型作为主键可以提高效率,占用的空间小,需要排序和比较的数据量小 bigint - > int
-
一般来说 数值比字符串 性能更好 ,因为字符串还需要比较字符集和排序规则
因为B+数的结构决定的,主键索引(聚簇索引),数据都在叶子结点,插入数据的时候需要先比较排序后插入存入页号(存到磁盘块)
- 对于业务中一对一的业务数据,尤其是用户Id携带标识的数据,可以使用用户id作为主键
因为主键索引(聚簇索引),数据都在叶子结点,使用用户Id查询的时候就是主键查询,不需要回表查询。如果是普通索引,需要在普通索引的B+树上找到对应的主键数据(叶子节点),然后再到主键索引上找到相应的数据
- 尽量减少磁盘IO
因为数据库的数据都是存放在idb文件,本质上就是存放在磁盘中的,如果查询过多数据就会占用大量的io读写。B+树叶子节点数据 一页 == 磁盘块 16KB

浙公网安备 33010602011771号