1

現在、言語ファイルを MySQL データベースに保存しています。

一般に、すべてのページ固有の言語文字列を一度にフェッチする方が良いですか (パフォーマンスについて考えています) (クエリははるかに少ないですが、サイズが大きく、不要な文字列が含まれています)、または要求時にフェッチします (より多くの要求が得られますが、代わりに、それらははるかに小さく、不要な文字列を取得しません)。

編集: 私は APC を使用しています。ページ固有の文字列は約 200 ~ 250 ありますが、1 つのリクエストを取得すると 100 ~ 150 になる可能性があります。同じマシンで MySQL をホストしています。

4

2 に答える 2

1

それはあなたの状況と利用可能なリソースに完全に依存します. たとえば、リモート サーバーに対してシングル スレッドのリクエストを行う場合は、一度にすべてをフェッチする方がおそらく良いでしょうが、ローカルの MySQL サーバーで実行する場合、より小さなリクエストの方が高速で、メモリの消費量が少ない可能性があります (Tuncay 氏によると、結果としてパフォーマンスが低下するパフォーマンス、タフ)。別のリクエストを行う前に最後のリクエストを待たないように、リクエストを非同期で行うようにページを調整すると、おそらくさらに高速になります。

ただし、実際に知る唯一の方法は、環境でいくつかのベンチマークを実行することです。

于 2012-09-06T16:51:57.217 に答える
0

私の経験では、mysqlサーバーは大きなリクエストを簡単に処理できます。代わりに、いくつかの小さなものは非常にパフォーマンスが低下します。同等の状況では、パフォーマンスの点で1つのクエリの方が常に優れていることがわかります。データベースからデータ全体を取得し、phpに残りを分類させます。

ただし、1つのクエリでdbからデータをフェッチするだけの方が優れています。適切な「where」句を使用できませんか?

于 2012-09-06T16:53:55.160 に答える