私の質問は、このデータベースの実装をうまく管理する方法があります。user_nameを取得する効率的な方法
背景:
Webページは、MySQL、PHPとJavaScriptで働いていました。 (議論のために簡略化)以下の表を想定し
:
* user_table *
user_id (PK)
user_name
* thread_table *
thread_id (PK)
user_id (Index)
thread_title
私は、スレッドのタイトルのリストを表示したいですそれらをパブリッシュするユーザーと一緒に。
だからこれは私のいつものクエリのようになります。
SELECT thread_title, thread_table.user_id, user_name
FROM thread_table INNER JOIN user_table
WHERE user_table.user_id = thread_table.user_id
私の質問は、はUSER_IDを持つUSER_NAMEを取得するための最も効率的な方法(速く)これでしょうか?
これは単純な例ですが、私はより複雑なクエリを持っていて、異なるテーブルに参加していて、user_nameを取得するためにのみ別のテーブルに参加する必要があります。
この実行の有効性を改善するにはどうすればよいですか?少なくともuser_idを持つuser_nameを得るために、ハッシュ・キーを使用してuser_tableのメモリー表を作成する必要がありますか?
ありがとうございます!
クエリが遅くなっていると感じる場合は、 'thread_table.user_id'にインデックスを追加してください –