自增主键的一点思考

背景: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到主表后才能被肯定的。 同步

相关文章
相关标签/搜索