假设我有100w条数据.插入到一张表(此时表是空的)的中的时候我有两种插入方法
- id从1开始递增插入
- id从1000000开始递减插入
这两种方式在插入的效率方面有区别吗?存储引擎是innodb
假设我有100w条数据.插入到一张表(此时表是空的)的中的时候我有两种插入方法
这两种方式在插入的效率方面有区别吗?存储引擎是innodb
5 回答3.2k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
1 回答4k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
1.innodb主键如果自增插入,后边一条顺序插入,直到一页写满开辟另一页,形成紧凑的索引结构
2.id如果从1000000开始严格按照递减插入,那么后一条数据要插入到上次数据的前面,写满一页后开辟另一页,也会形成紧凑的索引结构,与自增不会有区别
3.id如果是随机插入,那么每次插入的id都会先查询判断记录要插入的位置,然后会导致已经存在的数据位置不断的移动,不断的判断分页,增加内存消耗,效率极差
4.只要清楚插入数据的逻辑都是按照主键排序分页存储的,尽量减少不要经常性移动索引结构,那么就清楚该如果选择插入方法了