0

ユーザーが前月のデータを表示することを選択できるように、データをアーカイブするアプリケーションを作成する必要があります。

私がやりたかったのは、テーブルごとにアーカイブテーブルを作成することです。table_archive、およびINSERT SELECTクエリを使用して、アーカイブテーブルにデータを挿入します。私の懸念は、データベースに300を超えるテーブルがあることですが、さらに300のテーブルを作成すると、アプリケーションの速度に影響しますか?

もう1つの要件は、ユーザーがアーカイブ情報を変更できないようにすることです。テーブルをロックして、ユーザーがINSERT、UPDATE、DELETEを無効にするにはどうすればよいですか。

これを行うための他のより速くて簡単な方法はありますか?

4

1 に答える 1

0

スキーマ内の 600 テーブルによってパフォーマンスの問題が発生することはありません。より大きな問題は、これらのテーブルにどれだけのデータを詰め込んでいるか、結合とインデックスをどのように形成しているかです。書き込みを避けるのは簡単です。新しいテーブルの権限を取り消すだけです。

https://dev.mysql.com/doc/refman/5.5/en/privileges-provided.html

grant selectこれらにアクセスしているユーザーには、他に何もしたくないでしょう。

于 2012-11-19T06:51:57.313 に答える