1

ページに表示しているHTMLソースデータを格納する列「html_view」を持つ18GBのmysqlのテーブルがありますが、ページを作成する「html_view」列からhtmlデータを取得するのに時間がかかりすぎていますロードが遅い。

既存の構造を単純化して、db またはその他の方法から html データをより高速にロードできるアプローチが必要です。

私たちが計画しているアイデアの 1 つは、HTML データを .txt ファイルに保存することです。db には、txt ファイルのパスを保存するだけで、ファイルを読み取ってその特定のファイルからデータを取得します。しかし、サーバーで大量の読み取り/書き込み操作が行われ、サーバーの速度が低下する可能性があることを懸念しています.

この状況をより速くするためのより良いアプローチはありますか?

4

2 に答える 2

2

まず、なぜ HTML をデータベースに保存するのでしょうか。オンデマンドでレンダリングしてみませんか?

大きなテキスト テーブルの場合、圧縮されたテキストをバイト配列に格納するか、圧縮して base64 でプレーン テキストとしてエンコードすることができます。

大きなテキスト列を持つ配列がある場合、テーブルには他にいくつの列がありますか? 多すぎない場合は、テーブルをパーティション分割して、2 列のキー値ストアを作成できます。これは、ディスクからファイルを読み取るよりも高速で簡単です。

于 2010-03-10T09:49:36.530 に答える
1

Apache Caching guideを見てください。
ディスクとメモリのキャッシングについて説明します - コンテンツが静的である場合 (databae テーブルが示すように)、私の視点から、複数のレイヤーを上に追加するため、独自の遅いメカニズムを作成する代わりに、Apache の機能を使用する必要があります。
ただし、推定の代わりに通常の測定が適用されます;-)。

于 2010-03-10T10:07:33.033 に答える