主从数据库 主M 从S  innodb引擎实验步骤如下:
1 在S中做查询操作,花费时间较长,sql未用到索引,理论上应该是读的表锁
2 在S做查询过程中,在M中做update操作,迅速插入完毕
3 然后在页面上刷新(读从库),可以看到刚刚在M中更新过的新数据。此时S中的查询操作尚未结束。因为查询并没有用到索引,应该是从库的读表锁,那为什么对主库的更新操作却可以在从库中立马反映出来呢?
是不是【innodb 未用到索引的查询会导致表锁】这句话还有其他成立的前提?
mysqlinnodb锁表

解决方案 »

  1.   

    普通的Select是不加任何锁的 只有在事务中的using shared lock或者for update的select才加锁哦~~
      

  2.   

    innodb在默认隔离级别下用的是mvcc多版本并发控制  select并不加锁
      

  3.   

    是只要默认隔离级别就会使用mvcc吗?
    这个mvcc可以控制开关吗 
    除了默认隔离级别,还有哪些情况下select不会加锁?如果能给个链接就好了 ,我想仔细看看
      

  4.   

    在read-commited和repeatable-read隔离级别下是使用mvcc来保持并发