content_image/861904.jpg
SET transaction_isolation = value ; 

For each of those syntaxes, these semantics apply: 

•Sets the isolation level for all subsequent transactions performed within the session. 

•Permitted within transactions, but does not affect the current ongoing transaction. 

•If executed between transactions, overrides any preceding statement that sets the next-transaction isolation level. 

•Corresponds to SET SESSION TRANSACTION ISOLATION LEVEL  (with the SESSION  keyword). 

•To set the next-transaction isolation level, use this syntax: 

SET @@transaction_isolation = value ; 

For that syntax, these semantics apply: 

•Sets the isolation level only for the next single transaction performed within the session. 

•Subsequent transactions revert to the session isolation level. 

•Not permitted within transactions. 

•Corresponds to SET TRANSACTION ISOLATION LEVEL  (without the SESSION  keyword). 

For more information about SET TRANSACTION  and its relationship to the transaction_isolation system variable, see Section 13.3.7, “SET TRANSACTION Statement” . 

• transaction_prealloc_size 

<img src='content_image/861904.jpg'>

There is a per-transaction memory pool from which various transaction-related allocations take memory. The initial size of the pool in bytes is transaction_prealloc_size . For every allocation that cannot be satisfied from the pool because it has insufficient memory available, the pool is increased by transaction_alloc_block_size  bytes. When the transaction ends, the pool is truncated to transaction_prealloc_size  bytes. 

By making transaction_prealloc_size  sufficiently large to contain all statements within a single transaction, you can avoid many malloc()  calls. 

