mdl锁问题请教
请教大家一个简单的问题,比如说我一个表没每秒都在select ,但是这时候我要alter 添加一个索引,然后这个select 一直在做,一直重复。会有mdl锁出现吗?会引发后面发出的select也阻塞吗?是不是就变成了一个死循环了,这个表后续的select也做不了。一直阻塞呢?ALTER TABLE需要取得表级exclusive lock,以确保数据一致性,而持续进行的SELECT已经持有表上的共享读锁(shared read lock),GreatSQL的锁兼容矩阵中,exclusive lock与shared read lock不兼容,会相互冲突。 参考
- https://greatsql.cn/thread-425-1-1.html
- https://greatsql.cn/docs/8032/user-manual/10-optimze/2-7-mdllock-diag.html 只要你的 alter table 可以马上操作没有被别人堵住就问题不大。
页:
[1]