日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

mysql 分析服务_MySQL分析服务器状态_MySQL

發(fā)布時間:2024/9/27 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 分析服务_MySQL分析服务器状态_MySQL 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

概述

文章簡單介紹了通過一些查詢命令分析當(dāng)前服務(wù)器的狀態(tài)。

目錄

概述

獲取服務(wù)器整體的性能狀態(tài)

SQL操作計數(shù)

總結(jié)

步驟

獲取服務(wù)器整體的性能狀態(tài)

首先對一個數(shù)據(jù)庫服務(wù)器進(jìn)行性能優(yōu)化需要先知道服務(wù)器當(dāng)前主要的性能問題出現(xiàn)在哪里,在這點sql server也是類似,sql server首先會分析當(dāng)前服務(wù)器的等待類型的情況。

我們可以使用show [session|global] status命令來獲取想要的信息,默認(rèn)是顯示當(dāng)前連接的所有統(tǒng)計參數(shù)值,還可以直接查詢information_schema數(shù)據(jù)庫中的session_status表。

show status;

#或者使用

use information_schema;

select * from SESSION_STATUS;

我當(dāng)前的mysql版本是5.6.21,總共查詢出了341行參數(shù)。

這里有一篇文章詳細(xì)分析了每一個參數(shù)值的所代表的意思:http://blog.sina.com.cn/s/blog_68baf43d0100vu2x.html

SQL操作計數(shù)

接下來我們主要分析里面的com_參數(shù),com_參數(shù)各種SQL對數(shù)據(jù)庫執(zhí)行的操作。

show status like 'com_%';

#或者使用

use information_schema;

select * from SESSION_STATUS WHERE variable_name like 'com_%';

各種SQL操作計數(shù)總共有142個,不同的版本結(jié)果不一樣,接下來就來測試一下,表中的alter table的當(dāng)前連接的操作次數(shù)為0,現(xiàn)在我修改一下表看看結(jié)果。

ALTER TABLE test ADD Name CHAR(10) NOT NULL;

show status like 'com_%';

可以看到alter_table計數(shù)增加了1。

com_計數(shù)里面有幾個比較重要的參數(shù),其它的一些參數(shù)也經(jīng)常用來做參考。

com_delete:執(zhí)行delete操作的次數(shù)。

com_select:執(zhí)行select操作的次數(shù)。

com_insert:執(zhí)行insert操作的次數(shù),對應(yīng)批量插入操作無論里面循環(huán)多少次都只算一次。

com_update:執(zhí)行update操作的次數(shù)。

com_commit:執(zhí)行事務(wù)提交的次數(shù)。

com_rollback:執(zhí)行事務(wù)回滾的次數(shù)。

上面的計數(shù)包括所有的存儲引擎,有幾個參數(shù)是單獨針對innodb存儲引擎,記錄了read,inserted,updated,deleted每種操作的行數(shù)。

show status like 'innodb_rows%';

#或者使用

use information_schema;

select * from SESSION_STATUS WHERE variable_name like 'innodb_rows%';

定位效率低的SQL語句

1.可以通過慢查詢?nèi)罩緛矶ㄎ?#xff0c;慢查詢只能查詢已經(jīng)執(zhí)行結(jié)束的語句,如果要查詢當(dāng)前正發(fā)生的問題無法做到,這個方法在后面一篇文章介紹mysql日志會詳細(xì)介紹。

由于我將慢查詢的時間設(shè)為0.01秒,所以超過這個值的都會記錄下來,上面的截圖就是慢查詢?nèi)罩纠锩娴囊粭lSQL操作記錄,記錄中記錄了在什么時候執(zhí)行的操作,執(zhí)行操作的用戶信息,執(zhí)行花了0.19秒,鎖花了0.001秒,返回了0行,查詢了1行。

2.使用show processlist命令查詢當(dāng)前進(jìn)行線程,該命令經(jīng)常用來分析當(dāng)前服務(wù)器的狀況。

上圖中有后四個字段需要理解,其中

command:記錄了當(dāng)前查詢的一個狀態(tài),休眠(sleep),查詢(query),連接(connect)。

Time:持續(xù)的時間,單位是秒,經(jīng)常會使用這個值來做分析操作。

state:當(dāng)前語句的狀態(tài),這個狀態(tài)值很重要,這個狀態(tài)值很多,大家可以去了解一下,上圖就是等待表解鎖。

info:記錄操作語句

3.借助第三方監(jiān)控工具

總結(jié)

文章的知識點涉及的內(nèi)容其實很多,這里只是簡單的寫了一下,包括服務(wù)器里的很多狀態(tài)都是很重要的,文章只是單單拿出了SQL操作的計數(shù)來講,其它的一些包括connections,slow_queries,innodb_data_,innodb_buffer_pool_等等都是非常有用的一些計數(shù),由于太多這里就沒有全部拿出來分析,文章中也給出了一個連接介紹了其它的一些計數(shù)的含義。

本條技術(shù)文章來源于互聯(lián)網(wǎng),如果無意侵犯您的權(quán)益請點擊此處反饋版權(quán)投訴

本文系統(tǒng)來源:php中文網(wǎng)

TAG標(biāo)簽:狀態(tài)服務(wù)器

總結(jié)

以上是生活随笔為你收集整理的mysql 分析服务_MySQL分析服务器状态_MySQL的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。