1
A
回答
1
儘量避免 '喜歡'。
用戶內部加入。
表Aa和巴
SELECT ... FROM A INNER JOIN B ON A.a = B.a INNER JOIN C ON B.b LIKE '%'+C.a+'%'
+0
爲什麼'B.a = C.a'?我認爲你已經顯着地改變了這個查詢的語義... – 2012-03-29 14:52:44
+1
B.a = C.a?這是錯誤的! – 2012-03-29 14:53:31
1
創建索引雖然我更願意看到這種語法(因爲它是不太可能在不經意間導致交叉聯接):
SELECT A.a, B.a, B.b, C.a
FROM A
INNER JOIN B
ON A.a = B.a
INNER JOIN C
ON B.b LIKE '%' + C.a + '%';
如果此查詢的昂貴部分是LIKE
操作,那麼您可以做的事情並不多,因爲此特定模式每次都需要掃描。你能在B.b和C.a中顯示一些數據的例子嗎? A.a,B.a或B.b還有索引嗎?
相關問題
- 1. 加速SQL查詢
- 2. SQL查詢加速
- 3. 左加入或類似查詢
- 4. 如何加速SQL查詢
- 5. 加速更新SQL查詢
- 6. 加速SQL Server查詢
- 7. SQL--加快查詢速度
- 8. SQL Server加速查詢
- 9. 加速SQL查詢嵌套查詢
- 10. SQL加入類似SELECTS
- 11. 加入亞音速查詢
- 12. MySQL查詢速度加入
- 13. 加入SQL查詢
- 14. SQL查詢加入
- 15. 查詢Sql加入
- 16. 加入sql查詢
- 17. SQL查詢:加入
- 18. SQL查詢加入
- 19. SQL查詢 - 加入
- 20. SQL加入原始查詢的問題類似coloumn
- 21. Oracle SQL加入兩個類似的查詢
- 22. SQL查詢加入和分組和
- 23. 此查詢類型的SQL加入
- 24. SQL查詢同時加入和集成
- 25. SQL查詢加入和日期操作
- 26. SQL Server的加入和查詢問題
- 27. SQL內部加入和子查詢
- 28. SQL加入和子查詢混淆
- 29. 加入SQL Dev查詢
- 30. SQL簡單加入查詢
如果A,B,C之間有關係,你最好使用Inner Join – 2012-03-29 14:43:00
@MassimilianoPeluso這已經是內連接了。它不是最理想的語法,但你認爲這是一個外連接? – 2012-03-29 14:53:14
你可以在B.b和C.a中顯示一些數據的例子嗎? A.a,B.a或B.b還有索引嗎?什麼部分的操作很慢?你看過執行計劃嗎? – 2012-03-29 14:58:33