MySQL状态变量(ServerStatusVariables)_MySQL
變數
狀態
MySQL状态变量是当前服务器自启动后累计的一些系统状态信息,主要用于评估当前系统资源的使用情况以进一步分析系统性能而做出相应的调整决策。这些状态变量我们可以理解为等同于Oracle数据库的动态性能视图。MySQL的状态变量有很多,比如SQL执行频率,索引的使用情况,锁资源的使用情况等等。状态变量可以分区全局以及会话级别的状态变量。状态变量不可修改,为只读属性,由系统更新。本文演示了状态变量的一些示例,仅为抛砖引玉之用。
1、状态变量
2、show方式查看状态变量
--当前演示环境 root@localhost[(none)]> show variables like 'version'; +---------------+------------+ | Variable_name | Value | +---------------+------------+ | version | 5.5.39-log | +---------------+------------+ a、查看所有状态变量 root@localhost[(none)]> show status; +------------------------------------------+-------------+ | Variable_name | Value | +------------------------------------------+-------------+ | Aborted_clients | 0 | | Binlog_stmt_cache_use | 1 | | Bytes_received | 135 | | Bytes_sent | 266 | | ................ | | | Threads_running | 1 | | Uptime | 76242 | | Uptime_since_flush_status | 76242 | +------------------------------------------+-------------+ 312 rows in set (0.00 sec) --可以看出当前版本5.5.39有312个状态变量 b、查看仅有global的状态变量(connections) --查看指定的状态变量,以下两个与connection相关的都为全局状态变量 root@localhost[(none)]> show global status like 'connection%'; +----------------------+-------+ | Variable_name | Value | +----------------------+-------+ | Connections | 11 | --连接到MySQL服务器的数量(包含成功或失败的)。 +----------------------+-------+ suse11b:~ # mysql -ufred fred@localhost[(none)]> show global status like '%connection%'; +----------------------+-------+ | Variable_name | Value | +----------------------+-------+ | Connections | 12 | --连接之后,我们看到Connections的值变为12了。 +----------------------+-------+ c、查看既有global又有session状态的变量 --查看session状态变量opened_tables root@localhost[tempdb]> show session status like 'opened_tables'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | Opened_tables | 0 | +---------------+-------+ root@localhost[tempdb]> select count(*) from tb_slow; +----------+ | count(*) | +----------+ | 424448 | +----------+ root@localhost[tempdb]> show session status like 'opened_tables'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | Opened_tables | 1 | --值变为1 +---------------+-------+ --从information_schema.session_status表查询状态变量OPENED_TABLES root@localhost[tempdb]> select * from information_schema.session_status -> where variable_name like 'opened_tables'; +---------------+----------------+ | VARIABLE_NAME | VARIABLE_VALUE | +---------------+----------------+ | OPENED_TABLES | 1 | +---------------+----------------+ --查看全局状态变量opened_tables root@localhost[tempdb]> show global status like 'opened_tables'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | Opened_tables | 54 | +---------------+-------+ root@localhost[tempdb]> select count(*) from mysql.db; +----------+ | count(*) | +----------+ | 2 | +----------+ root@localhost[tempdb]> show global status like 'opened_tables'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | Opened_tables | 55 | --值变为55 +---------------+-------+ --从information_schema.global_status表查询状态变量OPENED_TABLES root@localhost[tempdb]> select * from information_schema.global_status -> where variable_name like 'opened_tables'; +---------------+----------------+ | VARIABLE_NAME | VARIABLE_VALUE | +---------------+----------------+ | OPENED_TABLES | 55 | +---------------+----------------+ --清洗状态变量统计信息 root@localhost[tempdb]> flush status; Query OK, 0 rows affected (0.00 sec) --下面的查询结果可以看出,session级别的opened_tables被重置为0 root@localhost[tempdb]> show session status like 'opened_tables'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | Opened_tables | 0 | +---------------+-------+ --Author: Leshami --Blog : http://blog.csdn.net/leshami --而全局级别的opened_tables未受到任何影响 root@localhost[tempdb]> show global status like 'opened_tables'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | Opened_tables | 55 | +---------------+-------+
登入後複製
3、使用mysqladmin extended-status获取状态变量
suse11b:~ # mysqladmin extended-status|grep Connections | Connections | 18 | suse11b:~ # mysql root@localhost[(none)]> system mysqladmin extended-status|grep Connections | Connections | 20 | root@localhost[(none)]> exit Bye suse11b:~ # mysqladmin --help |more #mysqladmin与状态变量有关的使用 extended-status Gives an extended status message from the server flush-status Clear status variables
登入後複製
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前
By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
R.E.P.O.保存文件位置:在哪里以及如何保護它?
3 週前
By DDD

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)