mysql的常用系统表和视图有哪些

38次阅读
没有评论

共计 21131 个字符,预计需要花费 53 分钟才能阅读完成。

这期内容当中丸趣 TV 小编将会给大家带来有关 mysql 的常用系统表和视图有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

一.information_schema 下常用表

1.SCHEMATA

实例下所有数据库的信息

*************************** 1. row ***************************
  CATALOG_NAME: def
  SCHEMA_NAME: information_schema
DEFAULT_CHARACTER_SET_NAME: utf8
  DEFAULT_COLLATION_NAME: utf8_general_ci
  SQL_PATH: NULL

2.TABLES

提供了表和视图的详细信息

*************************** 298. row ***************************
  TABLE_CATALOG: def
  TABLE_SCHEMA: wwj2
  TABLE_NAME: t1
  TABLE_TYPE: BASE TABLE
  ENGINE: InnoDB
  VERSION: 10
  ROW_FORMAT: Dynamic
  TABLE_ROWS: 3
 AVG_ROW_LENGTH: 5461
  DATA_LENGTH: 16384
MAX_DATA_LENGTH: 0
  INDEX_LENGTH: 0
  DATA_FREE: 0
 AUTO_INCREMENT: 4
  CREATE_TIME: 2018-04-17 10:44:04
  UPDATE_TIME: NULL
  CHECK_TIME: NULL
TABLE_COLLATION: utf8mb4_unicode_ci
  CHECKSUM: NULL
 CREATE_OPTIONS:

  TABLE_COMMENT:

3.COLUMNS

详细的表列信息

*************************** 1. row ***************************
  TABLE_CATALOG: def
  TABLE_SCHEMA: wwj
  TABLE_NAME: t3
  COLUMN_NAME: idt3
  ORDINAL_POSITION: 1
  COLUMN_DEFAULT: NULL
  IS_NULLABLE: NO
  DATA_TYPE: int
CHARACTER_MAXIMUM_LENGTH: NULL
  CHARACTER_OCTET_LENGTH: NULL
  NUMERIC_PRECISION: 10
  NUMERIC_SCALE: 0
  DATETIME_PRECISION: NULL
  CHARACTER_SET_NAME: NULL
  COLLATION_NAME: NULL
  COLUMN_TYPE: int(11)
  COLUMN_KEY: PRI
  EXTRA:

  PRIVILEGES: select,insert,update,references
  COLUMN_COMMENT:

  GENERATION_EXPRESSION:

4.STATISTICS

表的索引信息

*************************** 1. row ***************************
TABLE_CATALOG: def
 TABLE_SCHEMA: wwj
  TABLE_NAME: t3
  NON_UNIQUE: 0
 INDEX_SCHEMA: wwj
  INDEX_NAME: PRIMARY
 SEQ_IN_INDEX: 1
  COLUMN_NAME: idt3
  COLLATION: A
  CARDINALITY: 8
  SUB_PART: NULL
  PACKED: NULL
  NULLABLE:

  INDEX_TYPE: BTREE
  COMMENT:

INDEX_COMMENT:

*************************** 2. row ***************************
TABLE_CATALOG: def
 TABLE_SCHEMA: wwj
  TABLE_NAME: t3
  NON_UNIQUE: 1
 INDEX_SCHEMA: wwj
  INDEX_NAME: idx-1
 SEQ_IN_INDEX: 1
  COLUMN_NAME: idt4
  COLLATION: A
  CARDINALITY: 8
  SUB_PART: NULL
  PACKED: NULL
  NULLABLE:

  INDEX_TYPE: BTREE
  COMMENT:

INDEX_COMMENT:

5.USER_PRIVILEGES

用户权限信息

+—————————–+—————+————————-+————–+
| GRANTEE  | TABLE_CATALOG | PRIVILEGE_TYPE  | IS_GRANTABLE |
+—————————–+—————+————————-+————–+
|
root @ localhost   | def  | SELECT  | YES  |
|
root @ localhost   | def  | INSERT  | YES  |
|
root @ localhost   | def  | UPDATE  | YES  |
|
root @ localhost   | def  | DELETE  | YES  |
|
root @ localhost   | def  | CREATE  | YES  |
|
root @ localhost   | def  | DROP  | YES  |
|
root @ localhost   | def  | RELOAD  | YES  |
|
root @ localhost   | def  | SHUTDOWN  | YES  |
|
root @ localhost   | def  | PROCESS  | YES  |
|
root @ localhost   | def  | FILE  | YES  |
|
root @ localhost   | def  | REFERENCES  | YES  |
|
root @ localhost   | def  | INDEX  | YES  |
|
root @ localhost   | def  | ALTER  | YES  |
|
root @ localhost   | def  | SHOW DATABASES  | YES  |
|
root @ localhost   | def  | SUPER  | YES  |
|
root @ localhost   | def  | CREATE TEMPORARY TABLES | YES  |
|
root @ localhost   | def  | LOCK TABLES  | YES  |
|
root @ localhost   | def  | EXECUTE  | YES  |
|
root @ localhost   | def  | REPLICATION SLAVE  | YES  |
|
root @ localhost   | def  | REPLICATION CLIENT  | YES  |
|
root @ localhost   | def  | CREATE VIEW  | YES  |
|
root @ localhost   | def  | SHOW VIEW  | YES  |
|
root @ localhost   | def  | CREATE ROUTINE  | YES  |
|
root @ localhost   | def  | ALTER ROUTINE  | YES  |
|
root @ localhost   | def  | CREATE USER  | YES  |
|
root @ localhost   | def  | EVENT  | YES  |
|
root @ localhost   | def  | TRIGGER  | YES  |
|
root @ localhost   | def  | CREATE TABLESPACE  | YES  |
|
mysql.session @ localhost | def  | SUPER  | NO  |
|
mysql.sys @ localhost   | def  | USAGE  | NO  |
|
REPL_USER @ 109.115.12.41 | def  | REPLICATION SLAVE  | NO  |
|
REPL_USER @ 109.115.12.42 | def  | REPLICATION SLAVE  | NO  |
|
REPL_USER @ 109.115.12.%   | def  | REPLICATION SLAVE  | NO  |
|
REPL_USER @ 109.115.12.%   | def  | REPLICATION CLIENT  | NO  |
|
root @ %   | def  | SELECT  | NO  |
|
root @ %   | def  | INSERT  | NO  |
|
root @ %   | def  | UPDATE  | NO  |
|
root @ %   | def  | DELETE  | NO  |
|
root @ %   | def  | CREATE  | NO  |
|
root @ %   | def  | DROP  | NO  |
|
root @ %   | def  | RELOAD  | NO  |
|
root @ %   | def  | SHUTDOWN  | NO  |
|
root @ %   | def  | PROCESS  | NO  |
|
root @ %   | def  | FILE  | NO  |
|
root @ %   | def  | REFERENCES  | NO  |
|
root @ %   | def  | INDEX  | NO  |
|
root @ %   | def  | ALTER  | NO  |
|
root @ %   | def  | SHOW DATABASES  | NO  |
|
root @ %   | def  | SUPER  | NO  |
|
root @ %   | def  | CREATE TEMPORARY TABLES | NO  |
|
root @ %   | def  | LOCK TABLES  | NO  |
|
root @ %   | def  | EXECUTE  | NO  |
|
root @ %   | def  | REPLICATION SLAVE  | NO  |
|
root @ %   | def  | REPLICATION CLIENT  | NO  |
|
root @ %   | def  | CREATE VIEW  | NO  |
|
root @ %   | def  | SHOW VIEW  | NO  |
|
root @ %   | def  | CREATE ROUTINE  | NO  |
|
root @ %   | def  | ALTER ROUTINE  | NO  |
|
root @ %   | def  | CREATE USER  | NO  |
|
root @ %   | def  | EVENT  | NO  |
|
root @ %   | def  | TRIGGER  | NO  |
|
root @ %   | def  | CREATE TABLESPACE  | NO  |
+—————————–+—————+————————-+————–+

6.SCHEMA_PRIVILEGES

数据库权限信息

+—————————–+—————+——————–+—————-+————–+
| GRANTEE  | TABLE_CATALOG | TABLE_SCHEMA  | PRIVILEGE_TYPE | IS_GRANTABLE |
+—————————–+—————+——————–+—————-+————–+
| mysql.sys @ localhost   | def  | sys  | TRIGGER  | NO  |
| mysql.session @ localhost | def  | performance_schema | SELECT  | NO  |
+—————————–+—————+——————–+—————-+————–+

7.TABLE_PRIVILEGES

表权限信息

*************************** 3. row ***************************
  GRANTEE:
wwj @ %
 TABLE_CATALOG: def
  TABLE_SCHEMA: wwj
  TABLE_NAME: t3
PRIVILEGE_TYPE: SELECT
  IS_GRANTABLE: NO

8.COLUMN_PRIVILEGES

关于列权限信息

9.CHARACTER_SETS

mysql 可用字符集

10.TABLE_CONSTRAINTS

表的约束信息

11.KEY_COLUMN_USAGE

描述了具有约束的列的信息

*************************** 79. row ***************************
  CONSTRAINT_CATALOG: def
  CONSTRAINT_SCHEMA: wwj2
  CONSTRAINT_NAME: PRIMARY
  TABLE_CATALOG: def
  TABLE_SCHEMA: wwj2
  TABLE_NAME: t1
  COLUMN_NAME: id
  ORDINAL_POSITION: 1
POSITION_IN_UNIQUE_CONSTRAINT: NULL
  REFERENCED_TABLE_SCHEMA: NULL
  REFERENCED_TABLE_NAME: NULL
  REFERENCED_COLUMN_NAME: NULL

12.ROUTINES

记录了存储过程和函数的信息

13.VIEWS

记录了数据库中的视图信息,需要有 show views 权限

*************************** 1. row ***************************
  TABLE_CATALOG: def
  TABLE_SCHEMA: sys
  TABLE_NAME: host_summary
  VIEW_DEFINITION: select if(isnull(`performance_schema`.`accounts`.`HOST`), background ,`performance_schema`.`accounts`.`HOST`) AS `host`,sum(`stmt`.`total`) AS `statements`,`sys`.`format_time`(sum(`stmt`.`total_latency`)) AS `statement_latency`,`sys`.`format_time`(ifnull((sum(`stmt`.`total_latency`) / nullif(sum(`stmt`.`total`),0)),0)) AS `statement_avg_latency`,sum(`stmt`.`full_scans`) AS `table_scans`,sum(`io`.`ios`) AS `file_ios`,`sys`.`format_time`(sum(`io`.`io_latency`)) AS `file_io_latency`,sum(`performance_schema`.`accounts`.`CURRENT_CONNECTIONS`) AS `current_connections`,sum(`performance_schema`.`accounts`.`TOTAL_CONNECTIONS`) AS `total_connections`,count(distinct `performance_schema`.`accounts`.`USER`) AS `unique_users`,`sys`.`format_bytes`(sum(`mem`.`current_allocated`)) AS `current_memory`,`sys`.`format_bytes`(sum(`mem`.`total_allocated`)) AS `total_memory_allocated` from (((`performance_schema`.`accounts` join `sys`.`x$host_summary_by_statement_latency` `stmt` on((`performance_schema`.`accounts`.`HOST` = `stmt`.`host`))) join `sys`.`x$host_summary_by_file_io` `io` on((`performance_schema`.`accounts`.`HOST` = `io`.`host`))) join `sys`.`x$memory_by_host_by_current_bytes` `mem` on((`performance_schema`.`accounts`.`HOST` = `mem`.`host`))) group by if(isnull(`performance_schema`.`accounts`.`HOST`), background ,`performance_schema`.`accounts`.`HOST`)
  CHECK_OPTION: NONE
  IS_UPDATABLE:

  DEFINER:
mysql.sys@localhost
  SECURITY_TYPE: INVOKER
CHARACTER_SET_CLIENT: utf8
COLLATION_CONNECTION: utf8_general_ci

14.TRIGGERS

提供了数据库中触发器的信息

*************************** 1. row ***************************
  TRIGGER_CATALOG: def
  TRIGGER_SCHEMA: sys
  TRIGGER_NAME: sys_config_insert_set_user
  EVENT_MANIPULATION: INSERT
  EVENT_OBJECT_CATALOG: def
  EVENT_OBJECT_SCHEMA: sys
  EVENT_OBJECT_TABLE: sys_config
  ACTION_ORDER: 1
  ACTION_CONDITION: NULL
  ACTION_STATEMENT: BEGIN IF @sys.ignore_sys_config_triggers != true AND NEW.set_by IS NULL THEN SET NEW.set_by = USER(); END IF; END
  ACTION_ORIENTATION: ROW
  ACTION_TIMING: BEFORE
ACTION_REFERENCE_OLD_TABLE: NULL
ACTION_REFERENCE_NEW_TABLE: NULL
  ACTION_REFERENCE_OLD_ROW: OLD
  ACTION_REFERENCE_NEW_ROW: NEW
  CREATED: 2018-04-06 10:15:16.30
  SQL_MODE:

  DEFINER:
mysql.sys@localhost
  CHARACTER_SET_CLIENT: utf8
  COLLATION_CONNECTION: utf8_general_ci
  DATABASE_COLLATION: utf8_general_ci

二.performance_schema 下常用表

参考:http://www.cnblogs.com/cchust/p/5022148.html

PERFORMANCE_SCHEMA 这个功能默认是关闭的。需要设置参数:performance_schema 才可以启动该功能,这个参数是静态参数,只能写在 my.cnf 中 不能动态修改。

1. 配置表

(1).set_actors

用于配置 user 维度的监控,默认情况下监控所有用户线程

+——+——+——+———+———+
| HOST | USER | ROLE | ENABLED | HISTORY |
+——+——+——+———+———+
| %  | %  | %  | YES  | YES  |
+——+——+——+———+———+

(2).setup_consumers

表用于配置事件的消费者类型,即收集的事件最终会写入到哪些统计表中。

+———————————-+———+
| NAME  | ENABLED |
+———————————-+———+
| events_stages_current  | NO  |
| events_stages_history  | NO  |
| events_stages_history_long  | NO  |
| events_statements_current  | YES  |
| events_statements_history  | YES  |
| events_statements_history_long  | NO  |
| events_transactions_current  | NO  |
| events_transactions_history  | NO  |
| events_transactions_history_long | NO  |
| events_waits_current  | NO  |
| events_waits_history  | NO  |
| events_waits_history_long  | NO  |
| global_instrumentation  | YES  |
| thread_instrumentation  | YES  |
| statements_digest  | YES  |
+———————————-+———+

(3).setup_instruments
表用于配置一条条具体的 instrument,主要包含 4 大类:idle,stage/xxx,statement/xxx,wait/xxx.

-idle: 表示 socket 空闲的时间

-stage: 表示每个语句每个执行阶段的统计

-statement: 统计语句维度的信息

-wait: 统计各种等待事件

(4).setup_objects

用于配置监控对象,默认情况下所有,mysql,information_schema,performance_schema 下的对象不监控,其他 DB 的对象全部监控

+————-+——————–+————-+———+——-+
| OBJECT_TYPE | OBJECT_SCHEMA  | OBJECT_NAME | ENABLED | TIMED |
+————-+——————–+————-+———+——-+
| EVENT  | mysql  | %  | NO  | NO  |
| EVENT  | performance_schema | %  | NO  | NO  |
| EVENT  | information_schema | %  | NO  | NO  |
| EVENT  | %  | %  | YES  | YES  |
| FUNCTION  | mysql  | %  | NO  | NO  |
| FUNCTION  | performance_schema | %  | NO  | NO  |
| FUNCTION  | information_schema | %  | NO  | NO  |
| FUNCTION  | %  | %  | YES  | YES  |
| PROCEDURE  | mysql  | %  | NO  | NO  |
| PROCEDURE  | performance_schema | %  | NO  | NO  |
| PROCEDURE  | information_schema | %  | NO  | NO  |
| PROCEDURE  | %  | %  | YES  | YES  |
| TABLE  | mysql  | %  | NO  | NO  |
| TABLE  | performance_schema | %  | NO  | NO  |
| TABLE  | information_schema | %  | NO  | NO  |
| TABLE  | %  | %  | YES  | YES  |
| TRIGGER  | mysql  | %  | NO  | NO  |
| TRIGGER  | performance_schema | %  | NO  | NO  |
| TRIGGER  | information_schema | %  | NO  | NO  |
| TRIGGER  | %  | %  | YES  | YES  |
+————-+——————–+————-+———+——-+

(5).setup_timers

配置每种类型统计的时间单位

+————-+————-+
| NAME  | TIMER_NAME  |
+————-+————-+
| idle  | MICROSECOND |
| wait  | CYCLE  |
| stage  | NANOSECOND  |
| statement  | NANOSECOND  |
| transaction | NANOSECOND  |
+————-+————-+

2.instance 表
(1).file_instances
表中记录了系统中打开了文件的对象,open_count 显示当前文件打开的数目
+——————————————-+————————————–+————+
| FILE_NAME  | EVENT_NAME  | OPEN_COUNT |
+——————————————-+————————————–+————+
| /usr/local/mysql/share/english/errmsg.sys | wait/io/file/sql/ERRMSG  |  0 |
| /usr/local/mysql/share/charsets/Index.xml | wait/io/file/mysys/charset  |  0 |
| /mysql/mysql3306/mysql3306/ibdata1  | wait/io/file/innodb/innodb_data_file |  3 |
+——————————————-+————————————–+————+

(2).mutex_instances
表中记录了系统中使用互斥量对象的所有记录,LOCKED_BY_THREAD_ID 显示哪个线程正持有 mutex,若没有线程持有,则为 NULL。
+—————————————-+———————–+———————+
| NAME  | OBJECT_INSTANCE_BEGIN | LOCKED_BY_THREAD_ID |
+—————————————-+———————–+———————+
| wait/synch/mutex/mysys/THR_LOCK_heap  |  32492032 |  NULL |
| wait/synch/mutex/mysys/THR_LOCK_net  |  32491776 |  NULL |
| wait/synch/mutex/mysys/THR_LOCK_myisam |  32491712 |  NULL |
+—————————————-+———————–+———————+

(3).rwlock_instances
记录了系统中使用读写锁对象的所有记录
WRITE_LOCKED_BY_THREAD_ID 为正在持有该对象的 thread_id,若没有线程持有,则为 NULL
READ_LOCKED_BY_COUNT 为记录了同时有多少个读者持有读锁
+——————————————————-+———————–+—————————+———————-+
| NAME  | OBJECT_INSTANCE_BEGIN | WRITE_LOCKED_BY_THREAD_ID | READ_LOCKED_BY_COUNT |
+——————————————————-+———————–+—————————+———————-+
| wait/synch/rwlock/session/LOCK_srv_session_collection |  31736184 |  NULL |  0 |
+——————————————————-+———————–+—————————+———————-+

(4).socket_instances
表中记录了 thread_id,socket_id,ip 和 port,其它表可以通过 thread_id 与 socket_instance 进行关联,获取 IP-PORT 信息,能够与应用对接起来。
event_name 主要包含 3 类:
wait/io/socket/sql/server_unix_socket,服务端 unix 监听 socket
wait/io/socket/sql/server_tcpip_socket,服务端 tcp 监听 socket
wait/io/socket/sql/client_connection,客户端 socket
+—————————————-+———————–+———–+———–+—-+——+——–+
| EVENT_NAME  | OBJECT_INSTANCE_BEGIN | THREAD_ID | SOCKET_ID | IP | PORT | STATE  |
+—————————————-+———————–+———–+———–+—-+——+——–+
| wait/io/socket/sql/server_tcpip_socket |  83218752 |  1 |  22 | :: | 3306 | ACTIVE |
| wait/io/socket/sql/server_unix_socket  |  83219072 |  1 |  24 |  |  0 | ACTIVE |
| wait/io/socket/sql/client_connection  |  83221952 |  63 |  27 |  |  0 | IDLE  |
| wait/io/socket/sql/client_connection  |  83222272 |  64 |  29 |  |  0 | IDLE  |
| wait/io/socket/sql/client_connection  |  83222592 |  65 |  30 |  |  0 | ACTIVE |
+—————————————-+———————–+———–+———–+—-+——+——–+

3.Wait Event 表
events_waits_current  #记录了当前线程等待的事件
events_waits_history  #记录了每个线程最近等待的 10 个事件
events_waits_history_long  #记录了最近所有线程产生的 10000 个事件
history 表中的事件都是完成了的,没有结束的事件不会加入到 history 表中.
THREAD_ID: 线程 ID
EVENT_ID:当前线程的事件 ID,和 THREAD_ID 组成一个 Primary Key。
END_EVENT_ID: 当事件开始时,这一列被设置为 NULL。当事件结束时,再更新为当前的事件 ID。
SOURCE:该事件产生时的源码文件
TIMER_START, TIMER_END, TIMER_WAIT:事件开始 / 结束和等待的时间,单位为皮秒(picoseconds)
OBJECT_SCHEMA, OBJECT_NAME, OBJECT_TYPE 视情况而定
对于同步对象 (cond, mutex, rwlock), 这个 3 个值均为 NULL
对于文件 IO 对象,OBJECT_SCHEMA 为 NULL,OBJECT_NAME 为文件名,OBJECT_TYPE 为 FILE
对于 SOCKET 对象,OBJECT_NAME 为该 socket 的 IP:SOCK 值
对于表 I / O 对象,OBJECT_SCHEMA 是表的 SCHEMA 名,OBJECT_NAME 是表名,OBJECT_TYPE 为 TABLE 或者 TEMPORARY TABLE
NESTING_EVENT_ID:该事件对应的父事件 ID
NESTING_EVENT_TYPE:父事件类型(STATEMENT, STAGE, WAIT)
OPERATION: 操作类型(lock, read, write)

4.stage event 表
events_waits_current 

events_stages_history
events_stages_history_long
表中记录了当前线程所处的执行阶段,由于可以知道每个阶段的执行时间,因此通过 stage 表可以得到 SQL 在每个阶段消耗的时间。
THREAD_ID:线程 ID
EVENT_ID:事件 ID
END_EVENT_ID:刚结束的事件 ID
SOURCE:源码位置
TIMER_START, TIMER_END, TIMER_WAIT:事件开始 / 结束和等待的时间,单位为皮秒(picoseconds)
NESTING_EVENT_ID:该事件对应的父事件 ID
NESTING_EVENT_TYPE:父事件类型(STATEMENT, STAGE, WAIT)

5.Statement Event
events_statements_current
events_statements_history
events_statements_history_long
Statments 表只记录最顶层的请求,SQL 语句或是 COMMAND,每条语句一行,对于嵌套的子查询或者存储过程不会单独列出。event_name 形式为 statement/sql/*,或 statement/com/*
*************************** 8. row ***************************
  THREAD_ID: 67
  EVENT_ID: 96
  END_EVENT_ID: 96
  EVENT_NAME: statement/sql/select
  SOURCE: socket_connection.cc:101
  TIMER_START: 365640494222296000
  TIMER_END: 365640496863080000
  TIMER_WAIT: 2640784000
  LOCK_TIME: 195000000
  SQL_TEXT: select * from events_statements_history
  DIGEST: 12bf4ba549a7a86ad0d382bf2cd93f91
  DIGEST_TEXT: SELECT * FROM `events_statements_history`

  CURRENT_SCHEMA: performance_schema
  OBJECT_TYPE: NULL
  OBJECT_SCHEMA: NULL
  OBJECT_NAME: NULL
  OBJECT_INSTANCE_BEGIN: NULL
  MYSQL_ERRNO: 0
  RETURNED_SQLSTATE: NULL
  MESSAGE_TEXT: NULL
  ERRORS: 0
  WARNINGS: 0
  ROWS_AFFECTED: 0
  ROWS_SENT: 12
  ROWS_EXAMINED: 12
CREATED_TMP_DISK_TABLES: 0
  CREATED_TMP_TABLES: 0
  SELECT_FULL_JOIN: 0
 SELECT_FULL_RANGE_JOIN: 0
  SELECT_RANGE: 0
  SELECT_RANGE_CHECK: 0
  SELECT_SCAN: 1
  SORT_MERGE_PASSES: 0
  SORT_RANGE: 0
  SORT_ROWS: 0
  SORT_SCAN: 0
  NO_INDEX_USED: 1
  NO_GOOD_INDEX_USED: 0
  NESTING_EVENT_ID: NULL
  NESTING_EVENT_TYPE: NULL
  NESTING_EVENT_LEVEL: 0

SQL_TEXT:记录 SQL 语句
DIGEST: 对 SQL_TEXT 做 MD5 产生的 32 位字符串。如果为 consumer 表中没有打开 statement_digest 选项,则为 NULL。
DIGEST_TEXT:将语句中值部分用问号代替,用于 SQL 语句归类。如果为 consumer 表中没有打开 statement_digest 选项,则为 NULL。
CURRENT_SCHEMA:默认的数据库名
OBJECT_SCHEMA,OBJECT_NAME,OBJECT_TYPE:保留字段,全部为 NULL
ROWS_AFFECTED:影响的数目
ROWS_SENT: 返回的记录数
ROWS_EXAMINED: 读取的记录数目
CREATED_TMP_DISK_TABLES: 创建物理临时表数目
CREATED_TMP_TABLES: 创建临时表数目
SELECT_FULL_JOIN:join 时,第一个表为全表扫描的数目
SELECT_FULL_RANGE_JOIN:join 时,引用表采用 range 方式扫描的数目
SELECT_RANGE:join 时,第一个表采用 range 方式扫描的数目
SELECT_SCAN:join 时,第一个表位全表扫描的数目
SORT_ROWS: 排序的记录数目
NESTING_EVENT_ID,NESTING_EVENT_TYPE,保留字段,为 NULL。

6.connection 表
users,hosts 和 account 表
accounts 包含 hosts 和 users 的信息。
USER: 用户名
HOST: 用户的 IP

7.Summary
Summary 表聚集了各个维度的统计信息包括表维度,索引维度,会话维度,语句维度和锁维度的统计信息。
(1).wait-summary 表
events_waits_summary_global_by_event_name
场景:按等待事件类型聚合,每个事件一条记录。
events_waits_summary_by_instance
场景:按等待事件对象聚合,同一种等待事件,可能有多个实例,每个实例有不同的内存地址,因此
event_name+object_instance_begin 唯一确定一条记录。
events_waits_summary_by_thread_by_event_name
场景:按每个线程和事件来统计,thread_id+event_name 唯一确定一条记录。
COUNT_STAR:事件计数
SUM_TIMER_WAIT:总的等待时间
MIN_TIMER_WAIT:最小等待时间
MAX_TIMER_WAIT:最大等待时间
AVG_TIMER_WAIT:平均等待时间

(2).stage-summary 表
events_stages_summary_by_thread_by_event_name
events_stages_summary_global_by_event_name
与前面类似

(3).statements-summary 表
events_statements_summary_by_thread_by_event_name 表和 events_statements_summary_global_by_event_name 表与前面类似。对于 events_statements_summary_by_digest 表,
FIRST_SEEN_TIMESTAMP:第一个语句执行的时间
LAST_SEEN_TIMESTAMP:最后一个语句执行的时间
场景:用于统计某一段时间内 top SQL

(4).file I/O summary 表
file_summary_by_event_name [按事件类型统计]
file_summary_by_instance [按具体文件统计]
场景:物理 IO 维度
FILE_NAME: 具体文件名, 比如:/u01/my3306/data/tcbuyer_0168/tc_biz_order_2695.ibd
EVENT_NAME: 事件名,比如:wait/io/file/innodb/innodb_data_file
COUNT_STAR,SUM_TIMER_WAIT,MIN_TIMER_WAIT,AVG_TIMER_WAIT,MAX_TIMER_WAIT
统计 IO 操作
COUNT_READ,SUM_TIMER_READ,MIN_TIMER_READ,AVG_TIMER_READ,MAX_TIMER_READ, SUM_NUMBER_OF_BYTES_READ
统计读
COUNT_WRITE,SUM_TIMER_WRITE,MIN_TIMER_WRITE,AVG_TIMER_WRITE,MAX_TIMER_WRITE, SUM_NUMBER_OF_BYTES_WRITE
统计写
COUNT_MISC,SUM_TIMER_MISC,MIN_TIMER_MISC,AVG_TIMER_MISC,MAX_TIMER_MISC
统计其他 IO 事件,比如 create,delete,open,close 等

(5).Table I/O and Lock Wait Summaries- 表
table_io_waits_summary_by_table
根据 wait/io/table/sql/handler,聚合每个表的 I / O 操作,[逻辑 IO]
COUNT_STAR,SUM_TIMER_WAIT,MIN_TIMER_WAIT,AVG_TIMER_WAIT,MAX_TIMER_WAIT
统计 IO 操作
COUNT_READ,SUM_TIMER_WAIT,MIN_TIMER_WAIT,AVG_TIMER_WAIT,MAX_TIMER_WAIT
统计读
COUNT_WRITE,SUM_TIMER_WRITE,MIN_TIMER_WRITE,AVG_TIMER_WRITE, MAX_TIMER_WRITE
统计写
COUNT_FETCH,SUM_TIMER_FETCH,MIN_TIMER_FETCH,AVG_TIMER_FETCH, MAX_TIMER_FETCH
与读相同
COUNT_INSERT,SUM_TIMER_INSERT,MIN_TIMER_INSERT,AVG_TIMER_INSERT,MAX_TIMER_INSERT
INSERT 统计,相应的还有 DELETE 和 UPDATE 统计。

(6).table_io_waits_summary_by_index_usage
与 table_io_waits_summary_by_table 类似,按索引维度统计

(7).table_lock_waits_summary_by_table
聚合了表锁等待事件,包括 internal lock 和 external lock。
internal lock 通过 SQL 层函数 thr_lock 调用,OPERATION 值为:
read normal

read with shared locks

read high priority

read no insert

write allow write

write concurrent insert

write delayed

write low priority

write normal

external lock 则通过接口函数 handler::external_lock 调用存储引擎层,
OPERATION 列的值为:
read external
write external

(8).Connection Summaries 表
events_waits_summary_by_account_by_event_name
events_waits_summary_by_user_by_event_name
events_waits_summary_by_host_by_event_name

events_stages_summary_by_account_by_event_name
events_stages_summary_by_user_by_event_name
events_stages_summary_by_host_by_event_name

events_statements_summary_by_account_by_event_name
events_statements_summary_by_user_by_event_name
events_statements_summary_by_host_by_event_name

(9).socket-summaries 表
socket_summary_by_instance
socket_summary_by_event_name

其它表
performance_timers: 系统支持的统计时间单位
threads: 监视服务端的当前运行的线程

http://www.cnblogs.com/cchust/p/5061131.html

三.mysql 数据库常用表
1、user 表: 用户列、权限列、安全列、资源控制列

2、db 表 : 用户列、权限列

3、table_priv 表

4、columns_priv 表

5、proc_priv 表

四.sys 数据库常用表
1.host 视图
(1).host_summary;
统计了 host 的 SQL 执行信息,文件 io 信息和连接信息
? host : 监听连接过的主机

? statements : 当前主机执行的语句总数

? statement_latency : 语句等待时间(延迟时间)

? statement_avg_latency : 执行语句平均延迟时间

? table_scans : 表扫描次数

? file_ios : io 时间总数

? file_io_latency : 文件 io 延迟

? current_connections : 当前连接数

? total_connections : 总链接数

? unique_users : 该主机的唯一用户数

? current_memory : 当前账户分配的内存

? total_memory_allocated : 该主机分配的内存总数
(2).host_summary_by_file_io
统计了 host 的文件 io 信息
?host : 主机

?iOS : IO 事件总数

?io_latency : IO 总的延迟时间
(3).host_summary_by_file_io_type
按照 host 和 event 进行分组,统计文件的 io 信息
?host : 主机

?event_name : IO 事件名称

?total : 该主机发生的事件

?total_latency : 该主机发生 IO 事件总延迟时间

?max_latency : 该主机 IO 事件中最大的延迟时间
(4).host_summary_by_stages
总计语句 stage,由 host 分组
? host:主机

? event_name:名称

? total:发生的总数

? total_latency:总的延迟时间

? avg_latency:平均延迟时间
(5).host_summary_by_statement_latency
统计了 host,执行 SQL 语句的信息
? host:主机

? total:这个主机的语句总数

? total_latency:这个主机总的延迟时间

? max_latency:主机最大的延迟时间

? lock_latency:等待锁的锁延迟时间

? rows_sent:该主机通过语句返回的总行数

? rows_examined:在存储引擎上通过语句返回的行数

? rows_affected:该主机通过语句影响的总行数

? full_scans:全表扫描的语句总数
(6).host_summary_by_statement_type
按照 host 和 sql 类型进行分组,统计 SQL 语句执行信息
? host:主机

? statement:最后的语句事件名称

? total:sql 语句总数

? total_latency:sql 语句总延迟数

? max_latency:最大的 sql 语句延迟数

? lock_latency:锁延迟总数

? rows_sent:语句返回的行总数

? rows_examined:通过存储引擎的 sql 语句的读取的总行数

? rows_affected:语句影响的总行数

? full_scans:全表扫描的语句事件总数

2.innodb 视图
(1).innodb_buffer_stats_by_schema

通过数据库统计 innodb 引擎的 innodb 缓存
? object_schema:数据库名称

? allocated:分配给当前数据库的总的字节数

? data:分配给当前数据库的数据字节数

? pages:分配给当前数据库的总页数

? pages_hashed:分配给当前数据库的 hash 页数

? pages_old:分配给当前数据库的旧页数

? rows_cached:当前数据库缓存的行数
 
(2).innodb_buffer_stats_by_table

每个表 innodb 引擎的 innodb 缓存

? object_schema:数据库名称

? object_name:表名称

? allocated:分配给表的总字节数

? data:分配该表的数据字节数

? pages:分配给表的页数

? pages_hashed:分配给表的 hash 页数

? pages_old:分配给表的旧页数

? rows_cached:表的行缓存数

(3).innodb_lock_waits

总计了 innodb 锁等待
? wait_started:锁等待发生的时间

? wait_age:锁已经等待了多长时间

? wait_age_secs:以秒为单位显示锁已经等待的时间(5.7.9 中添加此列)

? locked_table:被锁的表

? locked_index:被锁住的索引

? locked_type:锁类型

? waiting_trx_id:正在等待的事务 ID

? waiting_trx_started:等待事务开始的时间

? waiting_trx_age:已经等待事务多长时间

上述就是丸趣 TV 小编为大家分享的 mysql 的常用系统表和视图有哪些了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注丸趣 TV 行业资讯频道。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-28发表,共计21131字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)