0

MySQL非常に単純ですが、実行速度が非常に遅いクエリがあります。2 つのテーブルがcorporate_main_memberありcorporate_main_corporate_membership、次のクエリを実行しています。

SELECT m.gender FROM corporate_main_member m, corporate_main_corporate_membership cm where m.id = cm.FK_member_ID and cm.FK_corporation_id = 6

2 番目の条件を含めない場合(cm.FK_corporation_id = 6)、クエリは正常に実行されます....

4

3 に答える 3

1

クエリでキーワードを使用JOINし、FK_corporation_id にインデックスを作成します。

SELECT m.gender 
FROM   corporate_main_member m 
       INNER JOIN corporate_main_corporate_membership cm 
               ON m.id = cm.fk_member_id 
WHERE  cm.fk_corporation_id = 6 
于 2012-06-26T10:13:42.823 に答える
1

これは、上記のクエリのより効率的な形式です。

SELECT 
m.gender 
FROM corporate_main_member m,
 corporate_main_corporate_membership cm on(m.id = cm.FK_member_ID)
where cm.FK_corporation_id = 6

Corporate_main_corporate_membership にインデックスを作成できます。

于 2012-06-26T10:14:19.533 に答える
0
SELECT
  m.gender
FROM corporate_main_member AS m
  LEFT JOIN corporate_main_corporate_membership AS cm
ON m.id = cm.FK_member_ID
    AND cm.FK_corporation_id = 6
于 2012-06-26T11:53:49.293 に答える