实验不同隔离级别不同表结构不同查询索

0、环境准备

#设置可查看锁的详细信息setglobalinnodb_status_output_locks=ON;//输出的内容包含锁的详细信息#查看当前事务IDSELECTTRX_IDFROMINFORMATION_SCHEMA.INNODB_TRXWHERETRX_MYSQL_THREAD_ID=CONNECTION_ID();1、REPEATABLE-READ隔离级别+表无显式主键和索引

创建表t,没有索引和主键,并插入测试数据

创建表t,没有索引和主键,并插入测试数据

createtablet(idintdefaultnull,namechar(20)defaultnull);insertintotvalues(10,10),(20,20),(30,30);

手动开启事务,执行语句并采用forupdate方式(当前读)

begin;select*fromtforupdate;showengineinnodbstatus;

---TRANSACTION,ACTIVE2sec2lockstruct(s),heapsize,4rowlock(s)MySQLthreadid2,OSthreadhandle,queryidlocalhostrootstartingshowengineinnodbstatus#事务给test库t表加表级锁:意向排它锁IXTABLELOCKtable`test`.`t`trxidlockmodeIX#事务表空间47页号3对应锁位图为72bits(64bit预留+记录数+infimumsupremum且被8取整的记录数)给test库t表自动生成的索引GEN_CLUST_INDEX添加临键锁RECORDLOCKSspaceid47pageno3nbits72indexGEN_CLUST_INDEXoftable`test`.`t`trxidlock_modeX#记录锁,物理存储填充序号为1;n_fields1只有一列(supremum默认只有一列);行记录格式为变长的


转载请注明:http://www.zhengpindaigou.com/amjtyf/10159.html


当前时间: