這兩天的值班,讓我對自己的不足和學習方法有個感官的認識,也讓我收益匪淺,本著服務大家的原則,在這裡為大家分享我這近乙個月的收穫和感受!
首先我們看乙個現象:
這是第一場考試的截圖:
這是第二場考試的截圖:
這讓我們很苦惱,為什麼會這樣,是sql的吞吐量出問題了嗎,我們馬上到網上去查,發現並不是,sql的吞吐量可以輕鬆處理百萬級別的資料量,是我們的程式有問題嗎?我想,應該是的,在我們查詢了多方資料後,發現,大資料量的處理,涉及到sql的執行機制,我們在這裡將網上的圖拿過來,大家一起研究:
伺服器接收到sql語句之後,要經過如下步驟完成操作:parse(解析)—> bind(繫結)—> execute(執行)。
1.此為整體流程圖:
2.此為select語句流程圖:
3.此為其他語句流程圖:
總結:工作和學習永遠是相輔相成的,如果只把工作當成工作,最後是碼農,或者其他,只有把工作當成自己的事,盡心盡力做好,才能相互促進,共同進步!
MySQL 處理海量資料時的SQL語句調優
在參與實際專案中,當 mysql 表的資料量達到百萬級時,普通的 sql 查詢效率呈直線下降,而且如果 where 中的查詢條件較多時,其查詢速度無法容忍。想想可知,假如我們查詢 的乙個訂單詳情,如果查詢時間高達幾十秒,這麼高的查詢延時,任何使用者都會抓狂。因此如何提高 sql 語句查詢效率,顯得十...
SQL語句的執行步驟
前幾天在這個問題上栽了,所以寫下來紀念一下 sql語句的執行步驟 一條sql語句的處理過程要經過以下幾個步驟。1 b 語法分析 b 分析語句的語法是否符合規範,衡量語句中各表示式的意義。2 b 語義分析 b 檢查語句中涉及的所有資料庫物件是否存在,且使用者有相應的許可權。3 b 檢視轉換 b 將涉及...
sql語句如何執行的
mysql 主要分為 server 層和引擎層,server 層主要包括聯結器 查詢快取 分析器 優化器 執行器,同時還有乙個日誌模組 binlog 這個日誌模組所有執行引擎都可以共用,redolog 只有 innodb 有。引擎層是外掛程式式的,目前主要包括,myisam,innodb,memor...