自增锁预分配ID
2016-07-19 00:16
417 查看
http://www.cnblogs.com/xpchild/p/3825309.html mysql> show create table pp; CREATE TABLE `pp` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(100) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=gbk mysql> insert into pp(name) values('xx'); Query OK, 1 row affected (0.18 sec) mysql> show create table pp; CREATE TABLE `pp` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(100) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=gbk mysql> insert into pp(name) values('xx'),('xx'),('xx'),('xx'); Query OK, 4 rows affected (0.01 sec) Records: 4 Duplicates: 0 Warnings: 0 mysql> show create table pp; CREATE TABLE `pp` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(100) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=gbk mysql> insert into pp(name) select name from pp; 预分配ID值 Query OK, 5 rows affected (0.20 sec) Records: 5 Duplicates: 0 Warnings: 0 mysql> show create table pp; CREATE TABLE `pp` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(100) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=gbk mysql> select * from pp; +----+------+ | id | name | +----+------+ | 1 | xx | | 2 | xx | | 3 | xx | | 4 | xx | | 5 | xx | | 6 | xx | | 7 | xx | | 8 | xx | | 9 | xx | | 10 | xx | +----+------+ 10 rows in set (0.00 sec) mysql> insert into pp(name) values('xx'); Query OK, 1 row affected (0.18 sec) mysql> select * from pp; +----+------+ | id | name | +----+------+ | 1 | xx | | 2 | xx | | 3 | xx | | 4 | xx | | 5 | xx | | 6 | xx | | 7 | xx | | 8 | xx | | 9 | xx | | 10 | xx | | 13 | xx | +----+------+ 11 rows in set (0.00 sec)
mysql> insert into pp(name) select name from pp; Query OK, 11 rows affected (0.16 sec) Records: 11 Duplicates: 0 Warnings: 0 mysql> show create table pp; CREATE TABLE `pp` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(100) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=29 DEFAULT CHARSET=gbk | + mysql> select * from pp; +----+------+ | id | name | +----+------+ | 1 | xx | | 2 | xx | | 3 | xx | | 4 | xx | | 5 | xx | | 6 | xx | | 7 | xx | | 8 | xx | | 9 | xx | | 10 | xx | | 13 | xx | | 14 | xx | | 15 | xx | | 16 | xx | | 17 | xx | | 18 | xx | | 19 | xx | | 20 | xx | | 21 | xx | | 22 | xx | | 23 | xx | | 24 | xx | +----+------+ 22 rows in set (0.01 sec) mysql> commit; Query OK, 0 rows affected (0.00 sec)
模拟崩溃 kill -9 `pidof mysqld`
MYSQLD再起动,再测ID
mysql> show create table pp; CREATE TABLE `pp` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(100) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=gbk
并没有持久化29,
select max(id) from pp 取初值 25 回退了
相关文章推荐
- ubuntu和windows双系统,启动时优先进入windows系统
- LeetCode - 374. Guess Number Higher or Lower
- MyBatis使用DEMO及cache的使用心得
- java---验证码图片的生成
- Idea的使用
- 0142 nginx搭建rtmp协议流媒体服务器总结
- android 开发之画布初步探索
- flask博客中关于文章和图片位置的定义
- 从零开始学_JavaScript_系列(26)——只需要前端知识的ajax教程
- 线程的生命周期,线程结束
- Unity3d 销毁
- MyBatis基础用法(一)
- 公共场合图标
- 利用SharePoint 2013 创建Service Desk 网站之二线工程师问题处理!
- Unity3d 碰撞检测
- 阿里云Linux服务器安装配置ftp及上传网站全教程
- Makefile常用知识点
- unity3d 鼠标事件
- 待解决
- SDWebImage的相关