0

私はいくつかのアイデアを探しています。参照テーブルを持つこの PHP アプリを作成しています。この参照テーブルのデータはかなり静的です。私はこれを使用して、動的フォームの選択リストにデータを入力したり、他の場所でも参照したりしています。

テーブルは基本的に次のとおりです。

key = stored in other tables
description = a long description of the key

私のアプリは、このテーブルをたくさん参照する予定です。テーブルには約 600 行あります。

この情報にアクセスする最善の方法についての提案を探しています。1 ページで 20 回参照できます。

最速で最も効率的なものについての意見を探しています。

私は、ページの先頭に準備されたステートメントを作成することに傾倒しており、毎回新しいパラメーターを渡し、mysql にキャッシュを処理させます。

ストアドプロシージャの方が速いか、テーブルをセッション配列にロードしますか

アイデア、提案をありがとう。

ありがとう

4

2 に答える 2

0

前述したように、電話をかけるだけで済む場合は、それを行うことができます。

パフォーマンスが問題である場合、またはより速くした方がよい場合、このテーブルはキーと値のペアを使用しており、めったに変更されないため、キャッシュに適しているように思えます。

apc または memcache を調べます。この例 (apc を使用) は次のようになります。

function getDescription($key){
    $result = apc_fetch($key);//Possibly prefix with method unique prefix.
    if($result === false) {
        //No result stored
        $result = getDescriptionFromDatabase($key);
        apc_store($key, $result);//Can also add a ttl if needed
    }
    return $result;
}

これにより、データベースからの結果が 1 回だけ (サーバー/php がリセットされるまで) 取得され、データベース呼び出しが削減されます。

于 2013-01-24T02:01:04.033 に答える
0

あなたが本当にスピードを求めていて、正直なところ、これが問題になるにはかなりの量のトラフィックが必要な場合は、プロシージャを作成して、WHERE パラメータを追加せずに呼び出すことができるテーブルを作成することをお勧めします (したがって、ページに 5 つの異なる select ステートメントがある場合、5 つの異なるテーブルを持つことになります)。また、データはほとんど静的であるため、イベントを通じてテーブル作成手順を頻繁に実行するだけで済みます。

于 2013-01-24T01:23:10.810 に答える