前回は、REDOログに関する統計情報などについての解説を行った。今回は、前回の続きで、なぜ、書き込みを行ったブロック数と、書き込みを行ったデータ量(バイト数)が比例しないかについての解説を行う。;1行が更新されました。;コミットが完了しました。これらの統計情報の値は累計値となっているので、更新処理前後の差分を求める必要がある。分は、以下の通りである。writtenに注目していただきたい。ここで言うブロックとは、Oracleブロックではなく、OS上のブロックを意味している。したがって、512×2で1024バイト書き込んだことになる。sizeを見てみると、448で1024に満たない。そこで、実際のOS上のファイルを16進表示して中身を確認したところ、ブロック中に何も書き込みが行われていない部分が数多く存在することが分かった。REDOログ・ファイルの16進表示つまり、REDOログ・ファイルに書き出すためのフォーマットを基準にして、そのフォーマットに基づいて書き込みを行っているために、空白の部分が存在しているのである。wastageである。writtenから求めると、以下の様になる。各ブロックの先頭には、それぞれ16バイトのヘッダー情報が格納されているため、書き込みを行ったブロック分を除く必要があるつまり、たかが6バイトの更新に、1Kバイトもの領域を消費し、その内の544バイトは、512バイト単位で書き込みを行う際のフォーマットのために無駄使いしているということになる。確かに、OS側のブロック単位(512バイト)で書き込みを行うこと自体は、パフォーマンスを向上させる上では妥当な構造と言えるだろう。「無駄使い」という表現には語弊があるかもしれないが、いくらパフォーマンスを優先させるためのフォーマットとは言え、もう少し改善の余地はあるのではないだろうか。reserved.トップページ企業概要プライバシーポリシ。