如果我將set optimizer_switch='block_nested_loop=off'
設置爲建議here,我是否可以100%確定選項on
和off
的結果相同?MySQL嵌套循環優化器開關是否會影響查詢結果?
我想將此選項更改爲off
,因爲它將查詢性能從56s提高到1s。
這個優化器開關有什麼優點和缺點,它是安全的嗎?
如果我將set optimizer_switch='block_nested_loop=off'
設置爲建議here,我是否可以100%確定選項on
和off
的結果相同?MySQL嵌套循環優化器開關是否會影響查詢結果?
我想將此選項更改爲off
,因爲它將查詢性能從56s提高到1s。
這個優化器開關有什麼優點和缺點,它是安全的嗎?
是的,它是安全的。 optimizer_switch
告訴MySql如何搜索查詢的答案。無論如何設置optimizer_switch
,它將爲您的查詢生成相同的結果(除非MySql中存在錯誤)。
使用set optimizer_switch='block_nested_loop=off'
的唯一缺點是其他查詢可能會變慢,因此您可能需要在執行查詢後將其設置回on
。
如果您無法發佈公司代碼,請舉例說明您自己的代碼以證明問題。 – Cfreak
我不認爲這是必要的,因爲它不是問題的關鍵點。 – Daredzik
您可以刪除不相關問題的一部分。只是總結前兩段的內容,如'有一些查詢很慢,但如果我設置...'等。 –