博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自增锁
阅读量:5858 次
发布时间:2019-06-19

本文共 1254 字,大约阅读时间需要 4 分钟。

自增锁,在提交前释放,并发插入高

s,x等锁,在COMMIT扣释放,并发插入需要等待

不能回滚到前面的值

 

 

insert -like:

 

simple-insert:插入前就能确定插入行数语句        bulk insert :插入前不确定插入行数的语句 replace ... select        mixed-mode inserts:insert into t1(c1,c2) values(1,"a"),(null,"b"),(4,"c"),(null,"d")                                            insert ...  on duplicate key update:自身扩展  (任何KEY 重复,就执行 )

 

 innodb_autoinc_lock_mode:

0:传统方式 ,simple insert:传统方式bulk insert :传统方式对于 INSERT ... SELECT ...   些时其他事务不能插,分配的ID是连续得 ,其他事务不能插入SQL执行完才释放自增锁 1.simple insert 并发bulk insert   传统方式 2.所有自增都以并发方式同一SQL语句自增可能不连接row-based binlog

 

 

工作模式1: 

工作原理:BULK INSERT:ACQUIRE AIINSERT ..SELECT :如果执行时间长,自增锁持有时间就长,不确定插入的记录数,只能等插入完 才自增,其他事务等待插入AI=AI+NRELEASE AI SIMPLE INSERT : 无SQL 语句执行等待ACQURE AIAI=AI+NRELESE AI

 

 

工作模式为 2时的工作原理:

FOR I=AI;I++;   //对BULK INSERT  也能并发插入,对单线插入变差,无益,对多线程插入是益的,自增值可能不连续的{ACQUIRE AI LOCKINSERT ONE RECAI=Ai+1RELEAS AI LOCK}

 

 

自增列的创建:

对于联合索引,自增列必须放在第一个列create table jjj ( a int auto_increment,b int ,key( a,b));      // KEY(b,a)

 

自增锁:

   AUTO_INCREMENT PK 不能持久化,速度快

   当重起MYSQL 服务器重新计算值:

           SELECT  MAX(AUTO_INC_COL) FROM XX 基于索引查找,而不是全表扫

自增锁相关参数:

  auto_increment_increment:步长值

  auto_increment_offset:初始值

 

 

每个节点产生全局唯一自增值设置

   auto_increment_offset =1                          auto_increment_offset=2

   auto_increment_increment=10                     auto_increment_increment=10

       

       

转载地址:http://bwljx.baihongyu.com/

你可能感兴趣的文章
optparser模块 与 ZIP爆破(Python)
查看>>
代码练习
查看>>
Rails 数据库删除table
查看>>
mysql--自动增长
查看>>
vi、vim 配置上下左右方向键和删除键
查看>>
Android面试题总结(不定期更新、附答案)
查看>>
[Redis]c# redis缓存辅助类
查看>>
canvas 绘图api的位置问题
查看>>
【Laravel】为Eloquent 模型设置全局作用域和局部作用域进行查询
查看>>
Cocos Studio study ---------- 使用CocosStudio1.6制作 界面,并结合代码制作游戏
查看>>
python基础知识-03-字符串
查看>>
python全栈 day03 操作系统 -- 摘要
查看>>
注册第一天,纪念一下
查看>>
在远程连接一个 Wndows 10的情况下,重启远程机器
查看>>
【递推+矩阵快速幂】【HDU2604】【Queuing】
查看>>
[20181226]简单探究cluster table.txt
查看>>
iOS - Project 项目
查看>>
Linux命令查询手册--sort
查看>>
[进程与线程]进程、线程的生活
查看>>
跟随我在oracle学习php(50)
查看>>