我有一個可笑的海量查詢生成的業務對象網絡智能針對預算系統的SQL服務器數據庫。報告開發人員在GUI中創建了此查詢,並發現它從未完成。我讓它在昨晚運行,並且在我們的服務器重新啓動Windows更新之前運行了7個小時。如何找到'沒有連接謂詞'的來源
我看了一下sql中的解釋計劃,發現了幾個'嵌套循環(Inner Join)步驟中的一些警告 - 這些警告中的兩個收取了第三步到最後一步的費用。警告是'沒有連接謂詞'。
其他筆記我對這個是查詢包含這在where子句中:
BF_FUND.CD IN ('0105','0101')
如果你只是擺在那裏的一個基金代碼,它運行良好 - 這樣莫名其妙地加上第二碼讓東西變成笛卡爾(也許,這是沒有連接謂詞會發生的事情)。
關於如何跟蹤這個問題的任何建議? 790行精彩的SQL通過了,加入後沒有任何東西可以加入。
解釋計劃能否指向特定區域?
感謝您的幫助。
編輯:
不能發佈查詢,安全的事情,這是很多大型混淆。我不想讓任何人看到它。
1 - **郵政查詢** – JNK
2 - 確保您使用顯式'JOIN'語法('LEFT JOIN在XY = zy' X),而不是隱含synax('從X, z') – JNK
執行計劃會告訴你有關表格,所以難以找出答案。它是用隱式'JOIN'語法編寫的嗎? –