01 where和on的區別
- 數據庫在通過連接兩張或多張表來返回記錄時,都會生成一張中間的臨時表,然後再將這張臨時表返回給用戶。
在使用left join時,on
和where
條件的區別如下:
1、on條件
是在生成臨時表時使用的條件,它不管on
中的條件是否爲真,都會返回左邊表中的記錄。
2、where條件
是在臨時表生成好後,再對臨時表進行過濾的條件。這時已經沒有left join
的含義(必須返回左邊表的記錄)了,條件不爲真的就全部過濾掉。
在使用left join時,on
和where
條件的區別如下:
1、on條件
是在生成臨時表時使用的條件,它不管on
中的條件是否爲真,都會返回左邊表中的記錄。
2、where條件
是在臨時表生成好後,再對臨時表進行過濾的條件。這時已經沒有left join
的含義(必須返回左邊表的記錄)了,條件不爲真的就全部過濾掉。
慢查詢 MySQL記錄下查詢超過指定時間的語句,我們將超過指定時間的SQL語句查詢稱爲“慢查詢”。 啓動慢查詢 慢查詢日誌 慢查詢配置