背景:mysql mysql
曾几什么时候,自增主键做为我开发中设置主键的策略。不知道从哪里学习的,在数据中出现非业务的主键有帮助。因而,养成了一个习惯,建表就建立自增主键。最近在初始化一些数据信息。对自增主键有了进一步的体会。 sql
之前,主要以为用一个自增主键,不用限制惟一性。由于自增的,它总不会重复吧。 学习
最近在处理数据信息,连带了看一点mysql基础知识(关于InnoDB) code
1. 若是咱们不为当前表,建立一个主键或者惟一性的索引,那么引擎会自动设置一个隐藏的主键来标识当前列数据信息。 索引
2. 对于咱们使用一个自增的主键做为id的时候,对于同步数据信息的,咱们能够经过自增id的大小比较,加快分页查询信息。
例如:
开发
-- 正常的获取分页信息 select * from tb limit 1000000, 1000
-- 经过主键,可以更快的过滤数据起始点 select * from tb where id > 1000000 limit 1000
3. 在中间表创建关系的时候,咱们采用id来关联,那么在初始化数据的时候,咱们必须等主表的数据建立完成后,才能再处理中间表,由于中间表须要id信息,而这些信息是在Insert到主表后才能被肯定的。 同步