mysqldatabaseinnodbtransaction-isolationsqltransaction

Is transaction isolation unnecessary in MYSQL when configuring one buffer pool?


According to https://dev.mysql.com/doc/refman/8.0/en/innodb-multiple-buffer-pools.html, buffer pool was protected by its own buffer pool mutex. So there is only one data request can visit buffer pool at the same time. If we have only one buffer pool, is transaction isolation unnecessary ?


Solution

  • No, that's not what it means.

    The mutex on the buffer pool is held briefly. It does NOT last for the duration of a transaction. A given session may acquire and release the mutex many times during a transaction, allowing other sessions their turn to access the buffer pool.

    You might be thinking of table locks and row locks, which are held by a session until it commits or rolls back a transaction.