私はグーグルで多くの時間を費やし、ずっと単純なテーブルの可能な解決策を見出しました。SQLデータベース内の変更を追跡する
私の会社はBGInfoを宗教的に使用して、200以上のWebサーバーで〜80のプロパティを管理しています。これらのフィールドには、サーバーの統計情報(IPアドレス、OSVer、HyperVホスト)と、インストールされているさまざまなソフトウェアコンポーネントのバージョンが混在しています。スケジュールされたタスクは、この情報をすべてのWebサーバーに毎日1つのデータベースに書き込みます(現在は300Kを超えるレコード)。特定のWebサーバー上での何かがに変更された時刻を与えるために、(最終的にレポートにフィードされる)クエリが必要です。自動チェンジコントロールの一種。
例:WebSvr_XYZには、数ヶ月後に追加のRAMを割り当てる前に2GのRAMが使用されていました。それから1年後、新しいIPアドレスが与えられました。 WebSvr_XYZ
に対して実行する場合は、540を超えるレコードに対する出力は、私は彼らがすべての関連する列に入社、完全なテーブルに対してそれを結合テーブルに対してSELECT DISTINCTを試してみた
June 1, 2016 Virt5a 192.168.10.45 2G
Aug 20, 2016 Virt5a 192.168.10.45 4G
July 18, 2017 Virt5a 192.168.20.105 4G
だろう
Server Time_stamp Host IP RAM
-------------------------------------------------------
WebSvr_XYZ June 1, 2016 Virt5a 192.168.10.45 2G
WebSvr_XYZ June 2, 2016 Virt5a 192.168.10.45 2G
WebSvr_XYZ Aug 20, 2016 Virt5a 192.168.10.45 4G
WebSvr_XYZ Aug 21, 2016 Virt5a 192.168.10.45 4G
WebSvr_XYZ July 18, 2017 Virt5a 192.168.20.105 4G
WebSvr_XYZ July 19, 2017 Virt5a 192.168.20.105 4G
WebSvr_XYZ July 20, 2017 Virt5a 192.168.20.105 4G
最初に取得するにはMIN(Timestamp)
を使用します。しかし、私は悪いタイムスタンプを得るか全く結果を得ません。