1. 程式人生 > >mysql優化(七)

mysql優化(七)

如果explain sql,解決出現的任何不好的欄位後還是慢,就開啟show profile進行進一步的分析

Show profile預設情況下是關閉的狀態

1.首先檢視是不是需要開啟


2.開啟下


3.檢視是否開啟成功


4.我們執行一條sql


5.檢視分析列表


6.分析下第三條語句的執行情況,他的語法如下

診斷sql ,show profile cpu, block io for query 問題sql數字號碼;
語法:Show profile type , block type for query 問題sql數字號碼

其中type:
ALL: 顯示所有的開銷資訊
BLOCK IO : 顯示塊IO相關開銷
CONTEXT SWITCHS: 上下文切換相關開銷
CPU : 顯示cpu 相關開銷
IPC: 顯示傳送和接收相關開銷
MEMORY: 顯示記憶體相關開銷
PAGE FAULTS:顯示頁面錯誤相關開銷資訊
SOURCE : 顯示和Source_function ,Source_file,Source_line 相關的開銷資訊
SWAPS:顯示交換次數相關的開銷資訊


說明:報告給出了查詢執行的每個步驟及花費的時間,當語句是很簡單的一次執行的時候,可以很清楚的看出語句每個順序(Duration)花費的時間

日常開發需要注意的:

 converting HEAP to MyISAM : 查詢結果太大,記憶體都不夠用了,往磁碟上搬了;
 creating tmp table :建立臨時表,拷貝資料到臨時表,然後再刪除;
 copying to tmp table on disk :把記憶體中臨時表複製到磁碟,危險!!!
 locked

注:以上四個中若出現一個或多個,表示sql 語句 必須優化。

相關推薦

mysql優化

如果explain sql,解決出現的任何不好的欄位後還是慢,就開啟show profile進行進一步的分析Show profile預設情況下是關閉的狀態1.首先檢視是不是需要開啟2.開啟下3.檢視是否開啟成功4.我們執行一條sql5.檢視分析列表6.分析下第三條語句的執行情

Monty說MySQL優化

三十一、事務的例子 MyIASM表如何進行事務處理: mysql> LOCK TABLES trans READ, customer WRITE; mysql> select sum(value) from trans where customer_id=som

Mosquito的優化——epoll優化

stat cep acc style 功能 pic 隊列 strong 使用epoll 本文由逍遙子撰寫,轉發請標註原址: http://blog.csdn.net/houjixin/article/details/46413583 或 http://houjixin

Mysql優化

進行 模式 系統 b樹 stat 內存 很多 提高 優化mysql Mysql優化主要通過執行計劃,索引,sql語句,調整mysql內部配置 (http://blog.chinaunix.net/uid-11640640-id-3426908.html) 一、優化概述

MySQL優化 優化關鍵技術

 MySql的優化是一個綜合性的技術,主要包括有: (1)表的設計合理化(符合 3NF 三正規化) (2)新增適當的索引(Index);索引分類:普通索引、主鍵索引、唯一索引、全文索引(文字)、空間索引。 (3)分表技術(水平分割、垂直分割) (4)讀寫分離(寫:update/add/del

MySQL優化 優化訣竅

效率比較 join nbsp 開頭 ble 使用 show tro 多列 索引的使用 (1)查詢要使用索引最重要的條件是查詢條件中的字段建立了索引; (2)下列幾種情況可能使用到索引:   <1> 對於創建的多列索引,只要查詢條件使用了最坐邊的列,索引一般就會被

MySQL優化 表的設計

1、什麼樣的表才符合3正規化(3 NF)? 表的正規化,是首先符合1正規化,才能滿足2正規化,進一步才能滿足3正規化;(現在最高級別是6正規化) 第一正規化:1NF 是對屬性的原子性約束,要求表的屬性(列)具有原子性,不可再分解;(只要是關係型資料庫[mysql/oracle/db2/sql server

MySQL優化 慢查詢的定位及優化

啟動 strong ptime pan bsp 回話 query plain ont 一、SQL語句優化的一般步驟: (1)通過 show status 命令了解各種 SQL 的執行效率; (2)定位執行效率較低的 SQL 語句(重點是 Select); (3)通過 exp

MySQL優化 SQL 語句的優化

一、索引 1、分類 (1)主鍵索引:當一張表的某個欄位設定為主鍵時,該欄位就是主鍵索引; (2)唯一索引:索引列中的值必須是唯一的,但是允許為空值(可以存在多個null); (3)普通索引:基本索引型別,沒有什麼限制,允許在定義索引的列中插入重複值和空值,純粹為了查詢資料更快一點; (4)全文索引:

mysql優化

SQL語句及索引的優化 explain分析sql語句 |  ALL              |  全表掃描 |  index            |  索引全掃描 |  range            |  索引範圍掃描,常用語<,<

MYSQL優化

MYSQL慢日誌 show variables like ‘slow_query_log’;檢視是否開啟慢日誌 show variables like ‘%log%’;檢視所有日誌開啟情況 set global log_queries_not_using_

MySQL資料彙總與聚集函式——MySQL系列

1、聚集函式 聚集函式是執行在行組上,計算和返回單個值的函式。 SQL聚集函式 函式 說明 AVG() 返回某列的平均值 COUNT() 返回某列的行數 MAX() 返回某列的最大值 MIN() 返回某列的最小值 SUM() 返回某個列之和 (1)、AVG()函式 可以返回

mysql優化–explain分析sql語句執行效率

mushu 釋出於 11個月前 (06-04) 分類:Mysql 閱讀(651) 評論(0) Explain命令在解決資料庫效能上是第一推薦使用命令,大部分的效能問題可以通過此命令來簡單的解決,Explain可以用來檢視SQL語句的執行效 果,可以幫助選擇更好的索引和優化查詢語句,寫出

MySQL優化:索引原理及索引優化

建立高效能索引索引是提高MySQL查詢效能的一個重要途徑,但過多的索引可能會導致過高的磁碟使用率以及過高的記憶體佔用,從而影響應用程式的整體效能。應當儘量避免事後才想起新增索引,因為事後可能需要監控大量的SQL才能定位到問題所在,而且新增索引的時間肯定是遠大於初始新增索引所需

MySQL優化——什麼影響了MySQL效能

影響效能的幾個方面: 伺服器硬體 伺服器系統 資料庫儲存引擎的選擇 資料庫引數配置 資料庫結構設計和SQL語句 一、伺服器硬體 1、CPU的選擇 我們的應用是否是CPU密集型的 對於cpu密集型的應用,我們需要加快sql語句的處理速度。

mysql優化1show命令 慢查詢日誌 explain profiling

目錄 一、優化概述 二、查詢與索引優化分析 1效能瓶頸定位 Show命令 慢查詢日誌 explain分析查詢 profiling分析查詢 2索引及查詢優化 三、配置優化 1)      max_connections 2)      back_lo

MYSQL優化:查詢優化

關於mysql查詢過程可參考上篇文章語法解析和預處理MySQL通過關鍵字將SQL語句進行解析,並生成一顆對應的解析樹。這個過程解析器主要通過語法規則來驗證和解析。比如SQL中是否使用了錯誤的關鍵字或者關鍵字的順序是否正確等等。預處理則會根據MySQL規則進一步檢查解析樹是否合

mysql 優化 1

更多 ati 完全 物理 mes 默認 產生 sta nali 提高IOPS能力的幾種方法換SSD,PCIE-SSD(提高IO效率,普通SAS盤5000以內的iops,而新設備可達到數萬或者數十萬iops)少做IO的活(合並多次讀寫為一次,或者前端加內存CACHE;或者優化

mysql 優化3

max deadlock 頻率 nim sem 並發 內存 同時 redo log using filesort 不能利用索引來進行分組或排序,利用filesort算法在內存或者磁盤進行排序using temporary 先在內存中進行分組,歸並等操作,不夠利用磁盤 SE

MySQL進階MySQL優化思路

優化思路 (1)看錶的資料型別是否設定合理,有沒有遵循選取資料型別越簡單越小的原則 (2)表中的碎片是否整理 (3)表的統計資訊是否收集,只有統計資訊準確,執行計劃才可以幫助我們優化SQL (4)檢視執行計劃,檢查索引使用情況,沒有使用索引,考慮建立 (5)建立索引之