MySQL之主键

MySQL之主键,第1张

主键是一个索引,mysql的索引是B+树,Mysql会按照键值的大小进行顺序存放,如果我们设置自增id为主键,这个时候主键是按照一种紧凑的接近顺序写入的方式进行存储数据。如果我们用其他字段作为主键的话,此时Mysql不得不为了将新记录插到合适位置而移动数据,甚至目标页面可能已经被回写到磁盘上而从缓存中清掉,此时又要从磁盘上读回来,这增加了很多额外的开销,同时频繁的移动、分页 *** 作造成了大量的碎片。

- 考虑性能消耗

- 考虑资源消耗

- 考虑分库分表

之前一个表本来有数据的 后面删除了记录 但是添加ID后排序不是重1开始的

如果是自增字段,删除数据,是根据原来的继续往后排的

1、可以删除这个字段,重新建立个自增字段就可以了

2、也可以重新设置排序起始

alter table table_name AUTO_INCREMENT=n

例如:

alter table papa_group AUTO_INCREMENT=1

你是想在数据库里面重新排序么? 这个 要是数据库固定,以后不插入的话,还好,要是以后插入的话,不还是会出现这个问题么 ?

你可以创建一张新表,然后 insert into 表名 select * from 原表 order by id desc


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8711711.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-20
下一篇 2023-04-20

发表评论

登录后才能评论

评论列表(0条)

保存