mysql B+tree索引的疑问
假设我有100w条数据.插入到一张表(此时表是空的)的中的时候我有两种插入方法
- id从1开始递增插入
- id从1000000开始递减插入
这两种方式在插入的效率方面有区别吗?存储引擎是innodb
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
假设我有100w条数据.插入到一张表(此时表是空的)的中的时候我有两种插入方法
这两种方式在插入的效率方面有区别吗?存储引擎是innodb
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
1.innodb主键如果自增插入,后边一条顺序插入,直到一页写满开辟另一页,形成紧凑的索引结构
2.id如果从1000000开始严格按照递减插入,那么后一条数据要插入到上次数据的前面,写满一页后开辟另一页,也会形成紧凑的索引结构,与自增不会有区别
3.id如果是随机插入,那么每次插入的id都会先查询判断记录要插入的位置,然后会导致已经存在的数据位置不断的移动,不断的判断分页,增加内存消耗,效率极差
4.只要清楚插入数据的逻辑都是按照主键排序分页存储的,尽量减少不要经常性移动索引结构,那么就清楚该如果选择插入方法了