uid、ユーザー名を格納する usr テーブルがあります。
ビジネス テーブル 1、格納される情報(bào)にはフィールド uid、ユーザー名があります。
ビジネス テーブル 2、格納される情報(bào)は uid、
(ビジネス テーブル 2) のみです。複數(shù)のフィールドがあります データはビジネス テーブル 1) の 1 つのデータに対応します)
既存: クエリはビジネス テーブル 2 を橫斷し、データは配列リストであり、前処理を容易にするためにユーザー名をリストに組み込む必要があります-end display
方法 1 は、各リストが uid に基づいており、データベースの usr テーブルに移動(dòng)してユーザー名をクエリすることです;
2 番目の方法は、最初にクエリ ビジネス テーブル 1 を走査し、空の配列 arr を使用します。キーには uid が格納され、対応する値にはユーザー名が格納されます。リストを走査し、 array_key_exists を使用して uid が arr のキーの 1 つであるかどうかを判斷します。そうであれば、arr[uid] をユーザー名として取得します。
2 番目の利點(diǎn)は、ユーザー名に対する複數(shù)のデータベース クエリは回避されますが、uid を格納するために空の配列のキーを使用する場(chǎng)合に問(wèn)題があります。uid 値が 10000 など非常に大きい場(chǎng)合、これには PHP 配列メモリの問(wèn)題が関係しますか (わかりません)この點(diǎn)については詳しく説明します)
また、2 番目の方法に他に欠點(diǎn)があるかどうかも知りたいです。もしある場(chǎng)合、それを処理する他のより良い方法はありますか