• 締切済み

テーブルの更新日時取得方法について

MySQLv5.1+InnoDBエンジンのDBで質問です。 テーブルの最終更新日時とかを取得して、一定時間更新の無いテーブルを 見つける仕組みを作ろうと考えています。 (OracleだとUSER_TABLESなどのLAST_DDL_TIMEを見たい) 既に、「SHOW TABLE STATUS で出てくる、Update_time の項目を見る」 は試してみたんですがNULLになっていて見られないです・・ (InnoDBはUpdate_timeに非対応?) 代替の方法など、もしあれば教えてください。 よろしくお願いします。

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

テーブルのファイルの日時をシステムで拾うとか、 データごとにタイムスタンプを埋め込んでMAXを取るとか有効かもしれません

sutaburo
質問者

お礼

回答ありがとうございます。 確かにMAXを取る方法もアリですね。 検証する際、この方法も試してみます。

noname#129900
noname#129900
回答No.1

検証していないのですが、 テーブル更新日時用のテーブルを作成しておき、 あるテーブルが変更されたら、トリガで更新日時用テーブルを更新する というのはいかがでしょうか。

sutaburo
質問者

お礼

参考になる回答ありがとうございます。 性能面への影響も心配なので、何パターンかの実現方法で検証してみようかと思います。