一、前言 上次在年前快要放假的時候記錄的一篇安裝SSL證書的內容,因為當時公司開始居家辦公了,我也打算回個家 畢竟自己在蘇州這半年一個人也是很想家的,所以就打算年過完來重新寫博客。不巧的是,當時我2月中旬剛到蘇州, 沒想到蘇州疫情爆發了,直接隔離十四天,自己平時就完成公司的開發任務 ...
.原來的sql: 查詢的場景是這樣的: 司機表和訂單表的數據,需要展示在訂單表已經有的司機,如果司機是已經完單,則顯示為空閑,然后可以繼續給改司機派單子。如果是已經出發,需要顯示當前司機是已出發 已到達或者已經完成這樣的狀態。所以需要顯示當前有訂單的司機以及空閑的司機。 但是用上面的sql 使用執行計划查看: 主要問題出現在下面的union的 left join 。 因為要查詢出來空閑的司機,剛 ...
2020-02-19 11:01 0 1006 推薦指數:
一、前言 上次在年前快要放假的時候記錄的一篇安裝SSL證書的內容,因為當時公司開始居家辦公了,我也打算回個家 畢竟自己在蘇州這半年一個人也是很想家的,所以就打算年過完來重新寫博客。不巧的是,當時我2月中旬剛到蘇州, 沒想到蘇州疫情爆發了,直接隔離十四天,自己平時就完成公司的開發任務 ...
這兩天實習項目遇到一個網頁加載巨慢的問題(10多秒),然后定位到是一個MySQL查詢特別慢的語句引起的: 抽出查詢慢關鍵部分: 這個語句導致前端頁面10多秒才有響應(但MySQL執行顯示要4.6秒,phpMyAdmin也是10秒左右響應,為何?) IN子查詢語句優化 把IN語句里面 ...
今天收到一個同事的問題,有一段SQL跑了很久很久,根本沒有結果,根據同事的反映,這個SQL一個月比一個月要慢。這是不被允許的事情,我們要做的就是對這個SQL進行一次優化。下面就是這次優化的記錄。 首先說SQL: 這段代碼隱藏了敏感信息,可能會有一些 ...
背景:從兩張有關聯的表查詢數據,A表數據量1400萬,B表數據量8000萬。A與B通過ID邏輯關聯,沒有實際的外鍵。B表是后來擴展出來的. 問題:根據某個ID查詢時超時,運行時跑不出結果。 原因:使用一個or條件,條件里面有一個是A.ID=B.ID 簡單優化:將or條件拆開,使用union ...
今天收到一個同事的求助,說有一個SQL跑了一個多小時沒有結果。我看了看,這個SQL是這樣的(隱藏了敏感信息): 我首先查看了兩個表的數據量,表1有將近300萬條,表2有不到10萬條記錄。並不是很大的數據。於是我關注到了not in,這個語句是幾乎所有 ...
再來看看這個SQL: 標黃色的SQL:執行的結果是: (無列名) (無列名)1102 軟件11021103 軟件11031104 軟件11041105 軟件11051106 軟件1106 我們已經學過Union關鍵字,會自動去除重復數據。所以只查詢 ...
一、問題背景 現網出現慢查詢,在500萬數量級的情況下,單表查詢速度在30多秒,需要對sql進行優化,sql如下: 我在測試環境構造了500萬條數據,模擬了這個慢查詢。 簡單來說,就是查詢一定條件下,都有哪些用戶的。很簡單的sql,可以看到,查詢耗時為37秒。 說一下 ...