0
A
回答
1
不幸的是,沒有什麼魔術工具可以清理你的數據庫,並列出一些可能是「不必要」的東西。拉胡爾的回答指出你在正確的方向,查看查詢並將它們與ERD和規範進行比較。
執行計劃可以幫助您確定某個特定查詢是否執行得不好,並且可能是原因是不必要的連接,但它也可以是其他任何操作。最後,它涉及到了解數據庫,瞭解數據以及如何使用數據。
1
如果您有與business requirement specification
對上述查詢沿着ERD(實體關係圖)代替;然後通過查看ERD和SPEC;我相信你至少可以得到一個想法,如果有任何聯繫不是(可能不是)必要的任何關係。
相關問題
- 1. SQL Server查詢優化器執行不必要的連接
- 2. 在SQL查詢中查找未使用的連接
- 3. 如何寫SQL在laravel連接查詢
- 4. SQL查詢連接
- 5. SQL連接查詢
- 6. SQL連接查詢 -
- 7. SQL連接查詢
- 8. SQL查詢連接?
- 9. SQL查詢連接
- 10. 查找查詢中的CakePHP連接表
- 11. JPA - 如何在查詢多對多關係時防止不必要的連接
- 12. SQL查詢:在連接表
- 13. SQL查詢,在連接表
- 14. MySQL查詢優化消除不必要的連接
- 15. SQL連接和子查詢,子查詢到SQL連接
- 16. SQl的左連接查詢
- 17. SQL Server查詢:連接查詢
- 18. 編寫SQL查詢需要幫助(連接,子查詢)
- 19. 如何連接兩個sql查詢?
- 20. 查詢SQL Server如何連接
- 21. 如何優化SQL連接查詢
- 22. 如何在SQL Server中查找運行不正常的查詢?
- 23. 如何實現在SQL 2008中的主要查詢中引用表的子查詢中的連接
- 24. 在SQL查詢中多次連接
- 25. 在sql server查詢中連接
- 26. 使用PHP在SQL中連接查詢
- 27. 在SQL查詢中多次連接
- 28. SQL查詢4路連接找到誰不在那裏
- 29. 如何在sql server中連接查詢中的文本?
- 30. 需要不同連接的三個表的SQL查詢
定義「不必要的連接」。你可以給我一個例子嗎? –
我可以想象一個連接的唯一方法是沒有用的是,當您不再在另一個連接或select子句中再次引用它時。我認爲這在實踐中是非常罕見的,除非你首先編寫查詢的人員無能爲力。 –
「是否有任何方法通過使用執行計劃或任何其他替代方法在SQL查詢中查找不必要的聯接。」不需要。假設您不需要,您的意思是表中的字段不會顯示,也不會包含在where子句,order或group by中。連接仍然可以有效限制...或爆炸結果(例如在交叉連接中) – xQbert