删除前面的数据 影响递增吗?
不影响。
自增id 1.插入1000条数据 2.再删除100条 3.再插入 id怎么改变?id一直在自增。删除前面的数据 也一样递增 没有任何影响。
底层原理
mysql维护一个字段 保存了id字段的最大值 无论表数据是否删除 后面的记录插入时 都以这个字段的值(即当前id字段的最大值)递增。
最大值?
看你设置多少位。一般11位。
工作使用
11位数 100亿
1.action表 10万用户 * 10个应用 * 10次 * 每天 = 1000万数据/每天
亿/月
百亿/年 //id达到最大值?怎么办?
2.count表
10万用户 * 10个应用 * 每天 = 100万数据/每天
千万/月
亿/年
长度
CREATE TABLE IF NOT EXISTS kk_user_action (
id INT(11) NOT NULL AUTO_INCREMENT,
user_id INT(32) NOT NULL,
event VARCHAR(256) NOT NULL,
last_update BIGINT(20) NOT NULL,
PRIMARY KEY (id),
INDEX (user_id),
INDEX (last_update)
) ENGINE=INNODB;
复制代码
如果从中间设置了其他值 那么从该值开始递增 而不是之前的最大值
1
100
150 //手动设置150
151 //后面的就从150开始递增 而不是100
达到最大值 怎么办
int(11) 改为 BIGINT //可以使用几百年
biancheng.dnbcw.net/mysql/23993…
interger和int
在mysql里 二者一样