【Mysql】数据库表设计总结

  1. 主键的选择?
  • 一般来说选择小的数据类型作为主键可以提高效率,占用的空间小,需要排序和比较的数据量小 bigint - > int

  • 一般来说 数值比字符串 性能更好 ,因为字符串还需要比较字符集和排序规则

因为B+数的结构决定的,主键索引(聚簇索引),数据都在叶子结点,插入数据的时候需要先比较排序后插入存入页号(存到磁盘块)

  1. 对于业务中一对一的业务数据,尤其是用户Id携带标识的数据,可以使用用户id作为主键

因为主键索引(聚簇索引),数据都在叶子结点,使用用户Id查询的时候就是主键查询,不需要回表查询。如果是普通索引,需要在普通索引的B+树上找到对应的主键数据(叶子节点),然后再到主键索引上找到相应的数据

  1. 尽量减少磁盘IO

因为数据库的数据都是存放在idb文件,本质上就是存放在磁盘中的,如果查询过多数据就会占用大量的io读写。B+树叶子节点数据 一页 == 磁盘块 16KB

posted @ 2023-08-10 00:00  rongbu2  阅读(50)  评论(0)    收藏  举报