ホームページ  >  に質問  >  本文

phpのビジネスロジックとmysqlの最適化の問題について

uid、ユーザー名を格納する usr テーブルがあります。
ビジネス テーブル 1、格納される情報にはフィールド uid、ユーザー名があります。
ビジネス テーブル 2、格納される情報は uid、
(ビジネス テーブル 2) のみです。複数のフィールドがあります データはビジネス テーブル 1) の 1 つのデータに対応します)

既存: クエリはビジネス テーブル 2 を横断し、データは配列リストであり、前処理を容易にするためにユーザー名をリストに組み込む必要があります-end display
方法 1 は、各リストが uid に基づいており、データベースの usr テーブルに移動してユーザー名をクエリすることです;
2 番目の方法は、最初にクエリ ビジネス テーブル 1 を走査し、空の配列 arr を使用します。キーには uid が格納され、対応する値にはユーザー名が格納されます。リストを走査し、 array_key_exists を使用して uid が arr のキーの 1 つであるかどうかを判断します。そうであれば、arr[uid] をユーザー名として取得します。

2 番目の利点は、ユーザー名に対する複数のデータベース クエリは回避されますが、uid を格納するために空の配列のキーを使用する場合に問題があります。uid 値が 10000 など非常に大きい場合、これには PHP 配列メモリの問題が関係しますか (わかりません)この点については詳しく説明します)
また、2 番目の方法に他に欠点があるかどうかも知りたいです。もしある場合、それを処理する他のより良い方法はありますか



赵。。。。赵得住赵。。。。赵得住2264日前1143

全員に返信(3)返信します

  • You bad bad

    You bad bad2018-07-13 16:36:23

    リンクされたリストのクエリ。外部リンク

    返事
    0
  • Summer

    Summer2018-07-11 11:52:36

    リンクされたテーブルをクエリするだけです


    返事
    0
  • キャンセル返事