私は何かをしようとしているし、私は正しい方法でそれをやっていると確信しています。 -------------------------さんは、私は、次の列内部結合とforeachループのパフォーマンス
でMySQLデータベース内の2つのテーブルを持っているとしましょう
Members
-------------------------
id name status
----- ----- -----
1 Mike 0
2 Alex 0
3 John 1
4 Jack -1
-------------------------
Status
-------------------------
id text
----- -----
-1 disapproved
0 reviewing
1 approved
今、私は次のように表に「メンバー」の情報を表示する必要があります:
id name status
----- ----- -----
1 Mike reviewing
2 Alex reviewing
3 John approved
4 Jack disapproved
1つの方法は、2つのテーブル間で内部結合を使用し、もう1つの方法は、「メンバー」テーブルからデータを抽出し、それをfor-eachループの内側に置き、ステータス値を変換することです。後者の方法では、私は "ステータス"テーブルをまったく必要としません。
どちらの方が良いか分かりません。私を助けるために必要な情報が必要な場合はお知らせください。
ありがとうございます。
更新
アンのために、各例私がやりたいことのために、私は「Memberes」テーブルから一般的に
foreach($data as $value)
{
if ($value['status'] == 0)
$value['status'] = 'reviewing';
if ($value['status'] == 1)
$value['status'] = 'approved';
else
$value['status'] = 'diapproved';
}
最も速いのはどのようなものなのかを知る方法はありません(特に、これらは実際のテーブルではなく、適用しようとしているロジックの例です)。それぞれのロジックごとにファイルを作成し、1,10,100,1000行などを取得するための時間を表示することで、それを自分でテストする必要があります。 – roberto06
@ roberto06できることは確かです。 MySQLは常に高速になります。 MySQLのデータを取得し、<ここに言語を挿入する>のために設計されたデータベースを実行すると思うときはいつでも、「いいえ、MySQLはそれをより早く行います」という唯一の結論が出ています。あなたは測定する必要はありません。 – Mjh