使用以下兩種(簡化)表結構發現我想找到出現在TABLE1
所有DISTINCTsession_id
值,其中flag = yes
是請勿出現在TABLE2
其中progress = 11
。MySQL的選擇IDS未在其他表在一定條件下
TABLE1
沒有重複的session_id
值。
TABLE1
id_table1 | session_id | flag
------------------------------
1 | abcd | yes
2 | efgh | no
3 | ijkl | yes
4 | mnop | yes
5 | vwxyz | yes
TABLE2
id_table2 | session_id | progress
---------------------------------
1 | abcd | 3
2 | efgh | 11
3 | ijkl | 2
4 | ijkl | 7
5 | mnop | 11
6 | vwxyz | 10
7 | vwxyz | 11
這裏的預期結果是:
abcd
ijkl
它的工作原理,但非常緩慢...有關如何加速它的任何想法? – Jon 2011-04-12 11:45:53
不知道你的索引是什麼以及EXPLAIN輸出是什麼,很難提出任何建議。是根據session_id索引的嗎? – 2011-04-12 11:49:20