私はこの質問をフレーズする最善の方法はわかりません!回転するデータを持つmysqlデータベース
私は過去24データ値を取得して保存する必要があるmysqlデータベースを持っており、データは常に最後の24データ値である必要があります。
これは完全に機能していますが、これを行うにはより良い方法が必要です。
はちょうど今、私のmysqlデータベースには、IDの列、タイムスタンプなどして、24個のデータの列があります。
data_01
data_02
data_03
data_04
data_05
etc
異なるIDに対して複数の行があります。
私は列 'data_24' を削除し、その後、すべての列の名前を変更し、毎時間、cronジョブを実行します。
data_01 -> data_02
data_02 -> data_03
data_03 -> data_04
data_04 -> data_05
data_05 -> data_06
etc
そして新しい、空白の列追加:
data_01
新をデータがこの新しい空の列に追加されます。
これは賢明な方法のように聞こえるのですか、それとももっと良い方法がありますか?
このメソッドの問題は、新しいデータが取得される前に列の削除、名前の変更、追加が最初に行われ、データを追加するための新しい列が存在することです。
何らかの理由でデータの取得に失敗した場合、myテーブルにはデータ値としてNULLの列が含まれます。
あなたはLIMITを使用して最後の24レコードを収集するビューを使用しますか? –
あなたは常にデータを収集して保存することを意味し、最後の24だけを表示しますか?これは非常に迅速に手に入らず、非常に多くのデータを収集します。私は最後の24だけが必要なので、すべてのデータを保持するのは無駄です。 – Richard
更新/挿入されたdata_01のデータはどこにありますか?あなたは自己結合を行い、data_24 = data_23などからデータをロールすることができます。値data_01を更新して渡す。水平型の店舗は、垂直型よりも挑戦的です。 – xQbert