web-dev-qa-db-ja.com

ログシーケンス番号とは何ですか? MySQLでどのように使用されますか?

MySQLで使用されるログシーケンス番号(LSN)の例またはシナリオを誰かに教えてもらえますか

7
Siva

mysqlperformanceblog から

ログシーケンス番号(LSN):ログシーケンス番号は、ログファイル内の指定された位置に対応し、通常、ログレコードごとに増分されます。 Innodbは、これまでにログファイルに書き込まれたバイト数を使用しますが、異なる場合があります。 LSNは多くの場合、リカバリチェックポイントおよびバッファ管理操作で広く使用されています。チェックポイント(ファジーと非ファジーの両方)が発生すると、「LSN = Xまでのすべての変更がデータスペースにフラッシュされるようになりました」などのメッセージが表示されます。これは、それより前のLSNのログを破棄またはアーカイブできることを意味します。ログリカバリを実行するとき、ログレコードのLSNは、この変更を適用する必要があるか、すでに適用されているかを確認できます(リカバリを実行するときに、バッファプールからフラッシュされたダーティページがわかりません)。

LSNはトランザクションにあまり関係していません。異なるトランザクションからの変更はログファイルに混在しており、多くのLSNは同じトランザクションからの変更に対応できます。

他の参考文献については、見てください

1 5.0.Xで現在のログシーケンス番号を知る方法

2 Innodbログファイルが十分に大きいかどうかを確認する方法

5
Abdul Manaf