国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL性能調優之查詢優化的辦法

2024-07-24 12:33:06
字體:
來源:轉載
供稿:網友
  本篇內容介紹了“MySQL性能調優之查詢優化的方法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
 
  一、查詢慢的原因
  1、網絡
 
  2、CPU
 
  3、IO
 
  4、上下文切換
 
  5、系統調用
 
  6、生成統計信息
 
  7、鎖等待時間
 
  二、優化數據訪問
  1、查詢性能低下的主要原因是訪問的數據太多,某些查詢不可避免的需要篩選大量的數據,我們可以通過減少訪問數據量的方式進行優化
 
  (1)確認應用程序是否在檢索大量超過需要的數據
 
  (2)確認mysql服務器層是否在分析大量超過需要的數據行
 
  2、是否向數據庫請求了不需要的數據
 
  (1)查詢不需要的記錄(我們常常會誤以為mysql會只返回需要的數據,實際上mysql卻是先返回全部結果再進行計算,在日常的開發習慣中,經常是先用select語句查詢大量的結果,然后獲取前面的N行后關閉結果集。優化方式是在查詢后面添加limit)
 
  (2) 重復查詢相同的數據(如果需要不斷的重復執行相同的查詢,且每次返回完全相同的數據,因此,基于這樣的應用場景,我們可以將這部分數據緩存起來,這樣的話能夠提高查詢效率。)
 
  三、執行過程的優化
   mysql查詢完緩存之后會經過以下幾個步驟:解析SQL、預處理、優化SQL執行計劃,這幾個步驟出現任何的錯誤,都可能會終止查詢。
 
  (1)語法解析器和預處理
 
  mysql通過關鍵字將SQL語句進行解析,并生成一顆解析樹,mysql解析器將使用mysql語法規則驗證和解析查詢,例如驗證使用使用了錯誤的關鍵字或者順序是否正確等等,預處理器會進一步檢查解析樹是否合法,例如表名和列名是否存在,是否有歧義,還會驗證權限等等
  (2)查詢優化器
 
  當語法樹沒有問題之后,相應的要由優化器將其轉成執行計劃,一條查詢語句可以使用非常多的執行方式,最后都可以得到對應的結果,但是不同的執行方式帶來的效率是不同的,優化器的最主要目的就是要選擇最有效的執行計劃。
 
  mysql使用的是基于成本的優化器,在優化的時候會嘗試預測一個查詢使用某種查詢計劃時候的成本,并選擇其中成本最小的一個。

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 广汉市| 容城县| 连城县| 织金县| 清涧县| 临夏市| 独山县| 贵定县| 滨海县| 乌鲁木齐市| 鹿邑县| 银川市| 吉林省| 丰台区| 绍兴县| 大足县| 江达县| 平陆县| 治县。| 平谷区| 虹口区| 新巴尔虎右旗| 南投县| 台前县| 集贤县| 赞皇县| 同心县| 安阳县| 长顺县| 方山县| 鄯善县| 临澧县| 通州区| 黑龙江省| 托里县| 漾濞| 策勒县| 新丰县| 原平市| 花垣县| 民勤县|