1

環境: JSF2、Hibernate による永続性、MySQL

画像データを含むテーブルが原因で、データベースが急速にいっぱいになっています。そのデータは決して検索されず、id によって直接アクセスされるだけです。問題は、データベースにとどまり、データベースのバックアップと実行時のメモリ使用量を拡大することです。

複数の解決策がある可能性があると考えています:

  • テーブルをキャッシュしたり、メモリに保持したりしないことを MySQL に伝えます。
  • そのテーブルには MySQL をまったく使用しないでください。これをディスクに直接保存する必要があることを持続性に知らせてください。
  • ???

しかし、私はどちらかを行う方法を見つけていません。ご意見をお聞かせください。

ありがとう、マイロ・ヴァン・デル・ゼー

4

1 に答える 1

0

ストレージ タイプは、MySQL のストレージ エンジンによって異なります。MEMORY ストレージエンジンを持つテーブルのみが RAM に保存され、その他はディスクに保存されます。

選択クエリSELECT SQL_NO_CACHEでは、MySQL クエリ キャッシュにクエリ データをキャッシュしないように MySQL に指示するために使用できます。

テーブルにパーティションを定義することで、テーブルを分割できます。これにより、挿入と選択が高速になります。

また、table_name_2012_07_20 のような日単位のテーブルと古い日付のアーカイブ テーブルを作成し、アーカイブ ストレージ エンジンを使用するか、または MyIsam ストレージ エンジンを使用している場合は myisamchk または myisampack を実行して、ハード ドライブのディスク領域を節約する圧縮形式でデータを保存することもできます。 .

于 2012-07-20T07:57:30.987 に答える