3

私は3つのテーブルを持っています

  • tbl_part-パーツのインデックス付きリストが含まれています
  • tbl_product-製品のインデックス付きリストが含まれています
  • tbl_part_product-部品と製品の間の関係が含まれています。

製品に関連していないすべてのパーツを選択したいのですが、20k以上のパーツがあると、クエリが遅すぎます。誰かが私がこれを達成する方法のより良い方法を知っていますか?

SELECT * FROM tbl_part AS p
LEFT JOIN tbl_part_product AS pp ON pp.ref_part_id = p.part_id
WHERE pp.ref_part_id IS NULL
4

1 に答える 1

5

INDEXの問題のように聞こえますが、クエリを変更しても、クエリは以前よりも速くなりません。

インデックスをまだ持っていない場合はref_part_id、これを試してください。クエリがかなり高速化されます。

ALTER TABLE tbl_part_product  ADD INDEX (ref_part_id);
于 2012-12-06T13:39:10.897 に答える