ちょっと小ネタ気味で恐縮ですが。
バッチ処理などで大量データ処理を行っているとき、
「いま、全体の何パーセントが終わったんだろう?」
と思うときがあります。
例えば、バッチ処理で100万件のINSERTが実行されることが予想されるとき、
それが1トランザクションで実行されるならば、コミットされるまで
select count(*) from XXX;
の結果はゼロのままです。
リアルタイムで「50万件、60万件、…」とレコード件数が増加していくのが見たいのに…!!
そんなときはこれを使えばOK。
set session transaction isolation level read uncommitted;
(MySQLの場合)
これで、まだコミットされていないけどINSERT済みなレコードを見ることができるようになります。
だから、select countを実行する毎に、リアルタイムでレコード件数が取得できるわけです。