私はcaを持つテーブル(T1)を持っています。 500000の非重複レコードは:2つのMySQLテーブルの最適な結合
私はこれらの2つのテーブルを結合したいID Entity
4 Ent4
5 Ent5
13 Ent13
16 Ent16
(IDに基づいて:4)効率的な方法で次のように:
ID1 Relation ID2
4 Rel4 13
5 Rel5 4
13 Rel13 16
16 Rel16 5
私は、プロパティテーブルT1_Propを持っています
Entity Relation Entity
Ent4 Rel4 Ent13
Ent5 Rel5 EntEnt4
この選択文は、うまく動作するJOINを含めて設計しました。しかし、これが最善の方法であるかどうかは分かりません。
select
a.entity,
r.relation,
b.entity
from T1 as r
INNER JOIN T1_Prop as a ON a.ID=r.ID1 AND (r.ID1=4 OR r.ID2=4)
INNER JOIN T1_Prop as b ON b.ID=r.ID2;
最適化の質問はhttp://codereview.stackexchange.com/に属します – Sirko
何の点でベスト? – Shadow
効率の面で。私はちょうどMySQLを使用したいと思いますし、いくつかの外部ライブラリでそれを改善しようとしていません。 – StaOver