表A有500,000個記錄:這個子選擇是在where子句之前還是之後執行的?
id, text, created, b_id
表B有20'000記錄:
id, text
A.b_id is FK to b.id
所以,當我做到以下幾點:
SELECT text, created, (SELECT b.text FROM b WHERE b.id = A.b_id) FROM a WHERE created < now()
或也
SELECT text, created, (SELECT b.text FROM b WHERE b.id = A.b_id) FROM a LIMIT 0,10
這個子選擇將在 WHERE子句後執行,所以實際上只能在記錄where created < now()
和where created < now()
之間執行。僅在前十條記錄上或將在的每條記錄上執行排除發生?
謝謝!
您在查詢中缺少'from'子句。 – Guffa
true :)僅僅是一個例子,因爲我的查詢將超過SO存儲功能;)將通過 –
來添加它。還要注意,如果子查詢返回多個結果,則這些查詢將失敗。 – eggyal