精华内容
下载资源
问答
  • 但是,performance_schema又过于复杂,操作不便,所以5.7新增了 sys schema,基础数据来自于 performance 跟 information_shcema两个库,本身数据库不存储及集采数据。一、sys schema里面视图的分类那么sys schem...

    概述

    performance_schema提供监控策略及大量监控项,包括:元数据锁、进度跟踪、事务、内存使用及存储程序等。但是,performance_schema又过于复杂,操作不便,所以5.7新增了 sys schema,基础数据来自于 performance 跟 information_shcema两个库,本身数据库不存储及集采数据。

    一、sys schema里面视图的分类

    那么sys schema在查询中的功能,哪些可以查看数据库服务资源的使用情况?哪些主机对数据库服务器的访问量最大?实际上的内存使用情况?这就要了解里面的视图了。

    1、主机相关信息

    以host_summary开头的视图,主要汇总了IO延迟的信息,从主机、文件事件类型、语句类型等角度展示文件IO的信息;

    2、innodb相关信息

    以innodb开头的视图,汇总了innodb buffer page信息和事务等待innodb锁信息;

    3、IO使用情况

    以IO开头的视图,总结了IO使用者的信息,包括等待IO的情况、IO使用量情况,从各个角度分组展示;

    4、内存相关信息

    以memory开头的视图,从主机、线程、用户、事件角度展示内存使用情况;

    5、连接与会话相关信息

    其中,processlist 和 session相关的视图,总结了会话相关的信息;

    6、表相关信息

    以schema_table开头的视图,从全表扫描、innodb缓冲池等方面展示了表统计信息;

    7、索引相关信息

    其中包含index的视图,统计了索引使用的情况,以及重复索引和未使用的索引情况;

    8、语句相关信息

    以statement开头的视图,统计的规范化后的语句使用情况,包括错误数、警告数、执行全表扫描的、使用临时表、执行排序等信息;

    9、用户相关信息

    以user开头的视图,统计了用户使用的文件IO,执行的语句统计信息等;

    10、等待事件相关信息

    以wait开头的视图,从主机和事件角度展示等待类事件的延迟情况;

    二、sys schema日常应用

    1、查看process

    1.1、常用的3个查询

    有以下3个查询:

    其中,show processlist为简要查看当前连接数据库情况,包含SQL语句的statement列仅提供部分SQL,而show full processlist则提供完整的SQL 语句,information_schema.processlist的内容与show full processlist 内容一致,但是可以以表格查询的形式添加where条件,达到自己的使用需求。

    show processlist;

    show full processlist;

    select * from information_schema.processlist where state!='';

    d829d4c4b18a27f6450fd3c56b97629e.png

    1.2、sys的四个视图

    除此之外,sys提供以下四个视图查看 连接情况,这四个则更为详细的提供了 行数情况、临时表情况、当前SQL以及最后提交SQL(即使是sleep状态,这里也有最后提交的SQL可以查看)等信息。

    若想详细查看,可以通过 `performance_schema`.`events_statements_current` 表格查看,通过sys.processlist 的thd_id关联查看。

    select * from sys.processlist;

    select * from sys.session;

    select * from sys.x$processlist;

    select * from sys.x$session;

    2、查看表访问量

    SELECT

    table_schema,

    table_name,

    sum( io_read_requests + io_write_requests ) io

    FROM

    schema_table_statistics

    GROUP BY

    table_schema,

    table_name

    ORDER BY

    io DESC

    LIMIT 10;

    c16a8616c003a60ba164d32db0eb5e9d.png

    3、冗余索引与未使用索引

    --冗余索引查看

    select table_schema,table_name,redundant_index_name,redundant_index_columns,dominant_index_name,dominant_index_columns from sys.schema_redundant_indexes;

    --未使用索引查看

    select * from sys.schema_unused_indexes;

    e49948f857f93b0c83150d1f4e90e40a.png

    4、表自增ID监控

    select * from sys.schema_auto_increment_columns;

    e50f73afe152722d6c0a10b1448f9b04.png

    5、监控全表扫描的sql语句

    select * from sys.statements_with_full_table_scans where db = 'pas_prod' order by exec_count desc;

    3a0486dbdfca1bfb29b9ecdc26e149c6.png

    6、查看实际消耗磁盘IO的文件

    select file,avg_read+avg_write as avg_io from io_global_by_file_by_bytes order by avg_io desc limit 10;

    042802d0e1f102f4f793607573e570c6.png

    三、sys schema视图一览表

    sys schema只有一张表sys_config,一般关注statement_truncate_len列就行(影响函数format_statement()截断SQL后的长度,即最后SQL语句显示的总长度,默认为64),最重要的就是里面的视图了。

    sys库的视图分为 带x$跟不带x$前缀的视图,这两种没啥实质性区别,不带 x$ 的视图是人性化的结果展示,会有一些单位换算,而带x$前缀的则是原始数据单位,未经换算。

    1、主机相关

    以host_summary开头的视图,提供IO延迟等相关信息

    1.1、视图一览

    The host_summary and x$host_summary Views

    The host_summary_by_file_io and x$host_summary_by_file_io Views

    The host_summary_by_file_io_type and x$host_summary_by_file_io_type Views

    The host_summary_by_stages and x$host_summary_by_stages Views

    The host_summary_by_statement_latency and x$host_summary_by_statement_latency Views

    The host_summary_by_statement_type and x$host_summary_by_statement_type Views

    1.2、应用场景

    1.2.1、host_summary(常用)

    日常中主要使用的是host_summary视图,可以根据连接数据库的host总的执行sql数目、执行时长、表扫描、文件IO、连接情况、用户情况及内存分布情况,可以让DBA快速定位到是哪台host最耗费数据库资源,对连接数据库的所有host有一个大致的资源使用情况的了解。

    select * from sys.host_summary;

    306ab8be7474846505d40d74fe5968d0.png

    1.2.2、host_summary_by_file_io_type

    详细查看每个host的主要是在什么文件类型上耗费IO资源,可以查看 host_summary_by_file_io_type视图

    de27f4942c712f310cbba8200a1e1343.png

    1.2.3、host_summary_by_file_io

    仅查看每台host总的IO情况,则可以查看视图host_summary_by_file_io

    select * from sys.host_summary_by_file_io;

    b53941691747d3d14d403d9b27bfbb32.png

    2、innodb相关

    以innodb开头的视图,汇总了innodb buffer page信息和事务等待innodb锁信息

    2.1、视图一览

    The innodb_buffer_stats_by_schema and x$innodb_buffer_stats_by_schema Views

    The innodb_buffer_stats_by_table and x$innodb_buffer_stats_by_table Views

    The innodb_lock_waits and x$innodb_lock_waits Views

    2.2、应用场景

    2.2.1、 innodb_buffer_stats_by_schema

    当一个实例中有多个业务库,由于性能问题,可能想查看下各个数据库的内存占用情况,可以使用视图 innodb_buffer_stats_by_schema,但是少用慎用,因为会扫描整个buffer pool来统计,如果所在实例buffer pool非常大,那么这是一个极为耗费资源的查询,建议慎用。这个视图实际上是通过 视图 innodb_buffer_stats_by_table的数据做了group by object_schema得到的。

    select * from sys.innodb_buffer_stats_by_schema;

    4bfdea76d69f404c7592b5dc26bf9102.png

    2.2.2、 innodb_buffer_stats_by_table(常用,慎用)

    在某种情况下,需要查询表格在内存中的占用情况,可以通过视图 innodb_buffer_stats_by_table来查询,也是扫描整个buffer pool统计,少用慎用。

    select * from sys.innodb_buffer_stats_by_table;

    c52eb97efb7134352d5b571bc86575bd.png

    3、IO相关

    以IO开头的视图,等待IO情况/IO使用情况

    3.1、视图一览

    The io_by_thread_by_latency and x$io_by_thread_by_latency Views

    各个IO线程的使用情况

    The io_global_by_file_by_bytes and x$io_global_by_file_by_bytes Views

    各个数据库文件的IO情况

    The io_global_by_file_by_latency and x$io_global_by_file_by_latency Views

    各个数据库文件的IO耗时情况

    The io_global_by_wait_by_bytes and x$io_global_by_wait_by_bytes Views

    数据库事件IO等待情况

    The io_global_by_wait_by_latency and x$io_global_by_wait_by_latency Views

    数据库事件IO等待耗时情况

    The latest_file_io and x$latest_file_io Views

    当前正在读写文件的情况

    3.2、应用场景

    3.2.1、io_global_by_file_by_bytes(常用)

    查看数据库实例的IO分布情况,及着重优化对象,可以使用 io_global_by_file_by_bytes

    select * from sys.io_global_by_file_by_bytes order by count_read desc;

    5ffda35b5004ad2d424e0008d078b68a.png

    4、内存相关

    以memory开头的视图,从主机/线程/用户等角度展示内存的使用情况

    4.1、视图一览

    The memory_by_host_by_current_bytes and x$memory_by_host_by_current_bytes Views

    The memory_by_thread_by_current_bytes and x$memory_by_thread_by_current_bytes Views

    The memory_by_user_by_current_bytes and x$memory_by_user_by_current_bytes Views

    The memory_global_by_current_bytes and x$memory_global_by_current_bytes Views

    The memory_global_total and x$memory_global_total Views

    4.2、应用场景

    4.2.1、memory_by_host_by_current_bytes、memory_by_thread_by_current_bytes 、memory_by_user_by_current_bytes

    当前内存使用情况,从 host、thread、user等角度来分别查看,对应各自的视图即可。

    select * from sys.memory_by_host_by_current_bytes;

    f7c6f57b3fede12bc0e5ec0e3a6632fa.png

    5、连接与会话相关

    含有processlist和session的视图,显示会话相关的信息

    5.1、视图一览

    The processlist and x$processlist Views

    The session and x$session Views

    The session_ssl_status View

    5.2、应用场景

    5.2.1、processlist(常用)

    查看连接使用情况,session的结果跟processlist类似。查看连接情况,有非常多种方式,每种方式都有各自的使用情况。

    select * from sys.processlist;

    8d35586a823c931ef7c53dbe4175bacb.png

    6、表相关

    以schema_table开头的视图,从全表扫描/innodb缓冲池表现表统计信息

    6.1、视图一览

    The schema_table_lock_waits and x$schema_table_lock_waits Views

    The schema_table_statistics and x$schema_table_statistics Views

    The schema_table_statistics_with_buffer and x$schema_table_statistics_with_buffer Views

    The schema_tables_with_full_table_scans and x$schema_tables_with_full_table_scans Views

    The schema_auto_increment_columns View

    6.2、应用场景

    6.2.1、schema_table_statistics(常用)

    查看表格的update、delete、insert、select的IO情况,可以使用schema_table_statistics视图

    select * from sys.schema_table_statistics;

    9b9add8bb56668460ee21adf09ad5889.png

    6.2.2、schema_tables_with_full_table_scans(常用)

    查看表格的全表扫描情况,抓取需要重点优化的对象,可以使用视图schema_tables_with_full_table_scans

    select * from sys.schema_tables_with_full_table_scans;

    a71704e981fb8a09b520a87e572a4581.png

    6.2.3、schema_auto_increment_columns(常用)

    查看表格的自增长是否快达到瓶颈了,有些表格存在频繁的删除操作,可能导致自增ID的最大值跟表格数量极不相符合,为了避免问题,可以通过视图 schema_auto_increment_columns,查看有哪些表格快要达到自增的瓶颈值

    select * from sys.schema_auto_increment_columns order by auto_increment_ratio desc;

    bd168648a09c9438b20bacf954b66e9f.png

    7、索引相关

    含有index的视图

    7.1、视图一览

    The schema_object_overview View

    The schema_redundant_indexes and x$schema_flattened_keys Views

    The schema_unused_indexes View

    The schema_index_statistics and x$schema_index_statistics Views

    7.2、应用场景

    7.2.1、schema_object_overview(常用)

    查看当前实例内各个数据的对象及索引分布情况,可以使用 schema_object_overview

    select * from sys.schema_object_overview where db='pas_prod';

    6ceb4c13b9e802a92c629acf69a18997.png

    7.2.2、schema_redundant_indexes(常用)

    查看数据库的冗余索引情况,可以通过视图 schema_redundant_indexes,但不是所有冗余索引都要删除,需要衡量实际的使用情况、索引大小、索引扫描情况后再决定。

    select * from sys.schema_redundant_indexes;

    d23f6bc0381c0d798d25aa15dfc24b9b.png

    7.2.3、schema_unused_indexes(常用)

    查看数据库没有使用的索引,可以使用 schema_unused_indexes

    select * from sys.schema_unused_indexes;

    27fd4207838bb27d8c71c2fead4569ad.png

    7.2.4、schema_index_statistics(常用)

    查看索引的select \updatedeleteinsert情况,可以使用schema_index_statistics

    select * from sys.schema_index_statistics;

    a047c2f7a8a0f0d97db9eeb09a224eab.png

    8、语句相关

    以statement开头的视图,显示错误数、警告数、执行全表扫描、使用临时表、执行排序等信息

    8.1、视图一览

    The statement_analysis and x$statement_analysis Views(常用)

    The statements_with_errors_or_warnings and x$statements_with_errors_or_warnings Views(常用)

    The statements_with_full_table_scans and x$statements_with_full_table_scans Views(常用)

    The statements_with_runtimes_in_95th_percentile and x$statements_with_runtimes_in_95th_percentile Views

    The statements_with_sorting and x$statements_with_sorting Views(常用)

    The statements_with_temp_tables and x$statements_with_temp_tables Views(常用)

    8.2、应用场景

    汇总SQL中错误数、警告数、执行全表扫描、使用临时表、执行排序等信息,sql语句也是使用 format_statement() 函数做了长度限制,如果想查看完整的SQL,可以通过 这个表格的这一列查看performance_schema`.`events_statements_summary_by_digest`.`DIGEST_TEXT`,关联的添加列是 DIGEST

    9、用户相关

    以user开头的视图,显示用户使用的文件IO/执行语句的统计信息

    9.1、视图一览

    The user_summary and x$user_summary Views (常用)

    The user_summary_by_file_io and x$user_summary_by_file_io Views

    The user_summary_by_file_io_type and x$user_summary_by_file_io_type Views

    The user_summary_by_stages and x$user_summary_by_stages Views

    The user_summary_by_statement_latency and x$user_summary_by_statement_latency Views

    The user_summary_by_statement_type and x$user_summary_by_statement_type Views

    9.2、应用场景

    从用户的角度,分别统计文件的IO情况、sql执行情况,如果数据库的用户是按照业务模块来划分的,那么则可以清晰的看到哪些业务耗费资源较多

    10、等待信息

    以wait开头的视图

    10.1、视图一览

    The wait_classes_global_by_avg_latency and x$wait_classes_global_by_avg_latency Views

    按事件event分组,统计各个event的平均延迟时长

    The wait_classes_global_by_latency and x$wait_classes_global_by_latency Views

    按事件event分组,统计各个event的总延迟时长

    The waits_by_host_by_latency and x$waits_by_host_by_latency Views

    The waits_by_user_by_latency and x$waits_by_user_by_latency Views

    The waits_global_by_latency and x$waits_global_by_latency Views

    所有event的延迟情况

    10.2、应用场景

    等待类视图,分别从事件、主机、用户等角度,进行查询分析。

    sys schema上的视图对于做性能分析是很重要的,建议大家重点掌握~

    后面会分享更多devops和DBA方面内容,感兴趣的朋友可以关注下!

    展开全文
  • 但是,performance_schema又过于复杂,操作不便,所以5.7新增了 sys schema,基础数据来自于 performance 跟 information_shcema两个库,本身数据库不存储及集采数据。一、sys schema里面视图的分类那么sys schem...

    概述

    performance_schema提供监控策略及大量监控项,包括:元数据锁、进度跟踪、事务、内存使用及存储程序等。但是,performance_schema又过于复杂,操作不便,所以5.7新增了 sys schema,基础数据来自于 performance 跟 information_shcema两个库,本身数据库不存储及集采数据。


    一、sys schema里面视图的分类

    那么sys schema在查询中的功能,哪些可以查看数据库服务资源的使用情况?哪些主机对数据库服务器的访问量最大?实际上的内存使用情况?这就要了解里面的视图了。

    1、主机相关信息

    以host_summary开头的视图,主要汇总了IO延迟的信息,从主机、文件事件类型、语句类型等角度展示文件IO的信息;

    2、innodb相关信息

    以innodb开头的视图,汇总了innodb buffer page信息和事务等待innodb锁信息;

    3、IO使用情况

    以IO开头的视图,总结了IO使用者的信息,包括等待IO的情况、IO使用量情况,从各个角度分组展示;

    4、内存相关信息

    以memory开头的视图,从主机、线程、用户、事件角度展示内存使用情况;

    5、连接与会话相关信息

    其中,processlist 和 session相关的视图,总结了会话相关的信息;

    6、表相关信息

    以schema_table开头的视图,从全表扫描、innodb缓冲池等方面展示了表统计信息;

    7、索引相关信息

    其中包含index的视图,统计了索引使用的情况,以及重复索引和未使用的索引情况;

    8、语句相关信息

    以statement开头的视图,统计的规范化后的语句使用情况,包括错误数、警告数、执行全表扫描的、使用临时表、执行排序等信息;

    9、用户相关信息

    以user开头的视图,统计了用户使用的文件IO,执行的语句统计信息等;

    10、等待事件相关信息

    以wait开头的视图,从主机和事件角度展示等待类事件的延迟情况;


    二、sys schema日常应用

    1、查看process

    1.1、常用的3个查询

    有以下3个查询:

    其中,show processlist为简要查看当前连接数据库情况,包含SQL语句的statement列仅提供部分SQL,而show full processlist则提供完整的SQL 语句,information_schema.processlist的内容与show full processlist 内容一致,但是可以以表格查询的形式添加where条件,达到自己的使用需求。

    show processlist; show full processlist; select * from information_schema.processlist where state!='';
    4766c23d681a11fe8e6ebd8a1d312521.png

    1.2、sys的四个视图

    除此之外,sys提供以下四个视图查看 连接情况,这四个则更为详细的提供了 行数情况、临时表情况、当前SQL以及最后提交SQL(即使是sleep状态,这里也有最后提交的SQL可以查看)等信息。

    若想详细查看,可以通过 `performance_schema`.`events_statements_current` 表格查看,通过sys.processlist 的thd_id关联查看。

    select * from sys.processlist;select * from sys.session;select * from sys.x$processlist;select * from sys.x$session;

    2、查看表访问量

    SELECTtable_schema,table_name,sum( io_read_requests + io_write_requests ) io FROMschema_table_statistics GROUP BYtable_schema,table_name ORDER BYio DESC LIMIT 10;
    20bd2751d489e1b1caecff01d8151648.png

    3、冗余索引与未使用索引

    --冗余索引查看 select table_schema,table_name,redundant_index_name,redundant_index_columns,dominant_index_name,dominant_index_columns from sys.schema_redundant_indexes; --未使用索引查看 select * from sys.schema_unused_indexes;
    ef061d0ee163e133e54e2a278a17adf9.png

    4、表自增ID监控

    select * from sys.schema_auto_increment_columns;
    e8b6cc8773b9d2bec736d414bdcb90f3.png

    5、监控全表扫描的sql语句

     select * from sys.statements_with_full_table_scans where db = 'pas_prod' order by exec_count desc;
    409f57a6d6e3f66fd3cd52b3cc877dce.png

    6、查看实际消耗磁盘IO的文件

     select file,avg_read+avg_write as avg_io from io_global_by_file_by_bytes order by avg_io desc limit 10;
    2a1e73668700a4f147e23b3b7aae14dc.png

    三、sys schema视图一览表

    sys schema只有一张表sys_config,一般关注statement_truncate_len列就行(影响函数format_statement()截断SQL后的长度,即最后SQL语句显示的总长度,默认为64),最重要的就是里面的视图了。

    sys库的视图分为 带x$跟不带x$前缀的视图,这两种没啥实质性区别,不带 x$ 的视图是人性化的结果展示,会有一些单位换算,而带x$前缀的则是原始数据单位,未经换算。

    1、主机相关

    以host_summary开头的视图,提供IO延迟等相关信息

    1.1、视图一览

    • The host_summary and x$host_summary Views
    • The host_summary_by_file_io and x$host_summary_by_file_io Views
    • The host_summary_by_file_io_type and x$host_summary_by_file_io_type Views
    • The host_summary_by_stages and x$host_summary_by_stages Views
    • The host_summary_by_statement_latency and x$host_summary_by_statement_latency Views
    • The host_summary_by_statement_type and x$host_summary_by_statement_type Views

    1.2、应用场景

    1.2.1、host_summary(常用)

    日常中主要使用的是host_summary视图,可以根据连接数据库的host总的执行sql数目、执行时长、表扫描、文件IO、连接情况、用户情况及内存分布情况,可以让DBA快速定位到是哪台host最耗费数据库资源,对连接数据库的所有host有一个大致的资源使用情况的了解。

     select * from sys.host_summary;
    da4a964136dbe87f7f852705ea78acee.png

    1.2.2、host_summary_by_file_io_type

    详细查看每个host的主要是在什么文件类型上耗费IO资源,可以查看 host_summary_by_file_io_type视图

    b9bab636e90d6c0df047b03fcb58d63a.png

    1.2.3、host_summary_by_file_io

    仅查看每台host总的IO情况,则可以查看视图host_summary_by_file_io

     select * from sys.host_summary_by_file_io;
    1c83406dc37033d985c7f9418403484a.png

    2、innodb相关

    以innodb开头的视图,汇总了innodb buffer page信息和事务等待innodb锁信息

    2.1、视图一览

    • The innodb_buffer_stats_by_schema and x$innodb_buffer_stats_by_schema Views
    • The innodb_buffer_stats_by_table and x$innodb_buffer_stats_by_table Views
    • The innodb_lock_waits and x$innodb_lock_waits Views

    2.2、应用场景

    2.2.1、 innodb_buffer_stats_by_schema

    当一个实例中有多个业务库,由于性能问题,可能想查看下各个数据库的内存占用情况,可以使用视图 innodb_buffer_stats_by_schema,但是少用慎用,因为会扫描整个buffer pool来统计,如果所在实例buffer pool非常大,那么这是一个极为耗费资源的查询,建议慎用。这个视图实际上是通过 视图 innodb_buffer_stats_by_table的数据做了group by object_schema得到的。

     select * from sys.innodb_buffer_stats_by_schema;
    48fabf423d32ae5e531e0765725daee8.png

    2.2.2、 innodb_buffer_stats_by_table(常用,慎用)

    在某种情况下,需要查询表格在内存中的占用情况,可以通过视图 innodb_buffer_stats_by_table来查询,也是扫描整个buffer pool统计,少用慎用。

     select * from sys.innodb_buffer_stats_by_table;
    60038112e5a755e1c9c7b446f6039e56.png

    3、IO相关

    以IO开头的视图,等待IO情况/IO使用情况

    3.1、视图一览

    • The io_by_thread_by_latency and x$io_by_thread_by_latency Views
      • 各个IO线程的使用情况
    • The io_global_by_file_by_bytes and x$io_global_by_file_by_bytes Views
      • 各个数据库文件的IO情况
    • The io_global_by_file_by_latency and x$io_global_by_file_by_latency Views
      • 各个数据库文件的IO耗时情况
    • The io_global_by_wait_by_bytes and x$io_global_by_wait_by_bytes Views
      • 数据库事件IO等待情况
    • The io_global_by_wait_by_latency and x$io_global_by_wait_by_latency Views
      • 数据库事件IO等待耗时情况
    • The latest_file_io and x$latest_file_io Views
      • 当前正在读写文件的情况

    3.2、应用场景

    3.2.1、io_global_by_file_by_bytes(常用)

    查看数据库实例的IO分布情况,及着重优化对象,可以使用 io_global_by_file_by_bytes

     select * from sys.io_global_by_file_by_bytes order by count_read  desc;
    fc08148af1348c3eeb836dbd24ddd6af.png

    4、内存相关

    以memory开头的视图,从主机/线程/用户等角度展示内存的使用情况

    4.1、视图一览

    • The memory_by_host_by_current_bytes and x$memory_by_host_by_current_bytes Views
    • The memory_by_thread_by_current_bytes and x$memory_by_thread_by_current_bytes Views
    • The memory_by_user_by_current_bytes and x$memory_by_user_by_current_bytes Views
    • The memory_global_by_current_bytes and x$memory_global_by_current_bytes Views
    • The memory_global_total and x$memory_global_total Views

    4.2、应用场景

    4.2.1、memory_by_host_by_current_bytes、memory_by_thread_by_current_bytes 、memory_by_user_by_current_bytes

    当前内存使用情况,从 host、thread、user等角度来分别查看,对应各自的视图即可。

     select * from sys.memory_by_host_by_current_bytes;
    91797a8d316e6861ef5f293eed51d58b.png

    5、连接与会话相关

    含有processlist和session的视图,显示会话相关的信息

    5.1、视图一览

    • The processlist and x$processlist Views
    • The session and x$session Views
    • The session_ssl_status View

    5.2、应用场景

    5.2.1、processlist(常用)

    查看连接使用情况,session的结果跟processlist类似。查看连接情况,有非常多种方式,每种方式都有各自的使用情况。

     select * from sys.processlist;
    96ec8f87c8b3227d2f9ffca883c6b179.png

    6、表相关

    以schema_table开头的视图,从全表扫描/innodb缓冲池表现表统计信息

    6.1、视图一览

    • The schema_table_lock_waits and x$schema_table_lock_waits Views
    • The schema_table_statistics and x$schema_table_statistics Views
    • The schema_table_statistics_with_buffer and x$schema_table_statistics_with_buffer Views
    • The schema_tables_with_full_table_scans and x$schema_tables_with_full_table_scans Views
    • The schema_auto_increment_columns View

    6.2、应用场景

    6.2.1、schema_table_statistics(常用)

    查看表格的update、delete、insert、select的IO情况,可以使用schema_table_statistics视图

     select * from sys.schema_table_statistics;
    89b8dfba6f750a6119dda6c3cf647f47.png

    6.2.2、schema_tables_with_full_table_scans(常用)

    查看表格的全表扫描情况,抓取需要重点优化的对象,可以使用视图schema_tables_with_full_table_scans

     select * from sys.schema_tables_with_full_table_scans;
    7a989c5b0963e5b6e7437ac0460b7c4f.png

    6.2.3、schema_auto_increment_columns(常用)

    查看表格的自增长是否快达到瓶颈了,有些表格存在频繁的删除操作,可能导致自增ID的最大值跟表格数量极不相符合,为了避免问题,可以通过视图 schema_auto_increment_columns,查看有哪些表格快要达到自增的瓶颈值

     select * from sys.schema_auto_increment_columns order by auto_increment_ratio desc;
    168522966fdce032c78829f1f98b096c.png

    7、索引相关

    含有index的视图

    7.1、视图一览

    • The schema_object_overview View
    • The schema_redundant_indexes and x$schema_flattened_keys Views
    • The schema_unused_indexes View
    • The schema_index_statistics and x$schema_index_statistics Views

    7.2、应用场景

    7.2.1、schema_object_overview(常用)

    查看当前实例内各个数据的对象及索引分布情况,可以使用 schema_object_overview

     select * from sys.schema_object_overview where db='pas_prod';
    c41cfedcce2b7345493725345a8aa53c.png

    7.2.2、schema_redundant_indexes(常用)

    查看数据库的冗余索引情况,可以通过视图 schema_redundant_indexes,但不是所有冗余索引都要删除,需要衡量实际的使用情况、索引大小、索引扫描情况后再决定。

     select * from sys.schema_redundant_indexes;
    420e7c7390632598861d60628bbd76fe.png

    7.2.3、schema_unused_indexes(常用)

    查看数据库没有使用的索引,可以使用 schema_unused_indexes

     select * from sys.schema_unused_indexes;
    2289e53b56134c93a19b11814bcde1c6.png

    7.2.4、schema_index_statistics(常用)

    查看索引的select 甥摰瑡edeleteinsert情况,可以使用schema_index_statistics

     select * from sys.schema_index_statistics;
    1b39485828f9744ce57c055d7310e38d.png

    8、语句相关

    以statement开头的视图,显示错误数、警告数、执行全表扫描、使用临时表、执行排序等信息

    8.1、视图一览

    • The statement_analysis and x$statement_analysis Views(常用)
    • The statements_with_errors_or_warnings and x$statements_with_errors_or_warnings Views(常用)
    • The statements_with_full_table_scans and x$statements_with_full_table_scans Views(常用)
    • The statements_with_runtimes_in_95th_percentile and x$statements_with_runtimes_in_95th_percentile Views
    • The statements_with_sorting and x$statements_with_sorting Views(常用)
    • The statements_with_temp_tables and x$statements_with_temp_tables Views(常用)

    8.2、应用场景

    汇总SQL中错误数、警告数、执行全表扫描、使用临时表、执行排序等信息,sql语句也是使用 format_statement() 函数做了长度限制,如果想查看完整的SQL,可以通过 这个表格的这一列查看performance_schema`.`events_statements_summary_by_digest`.`DIGEST_TEXT`,关联的添加列是 DIGEST

    9、用户相关

    以user开头的视图,显示用户使用的文件IO/执行语句的统计信息

    9.1、视图一览

    • The user_summary and x$user_summary Views (常用)
    • The user_summary_by_file_io and x$user_summary_by_file_io Views
    • The user_summary_by_file_io_type and x$user_summary_by_file_io_type Views
    • The user_summary_by_stages and x$user_summary_by_stages Views
    • The user_summary_by_statement_latency and x$user_summary_by_statement_latency Views
    • The user_summary_by_statement_type and x$user_summary_by_statement_type Views

    9.2、应用场景

    从用户的角度,分别统计文件的IO情况、sql执行情况,如果数据库的用户是按照业务模块来划分的,那么则可以清晰的看到哪些业务耗费资源较多

    10、等待信息

    以wait开头的视图

    10.1、视图一览

    • The wait_classes_global_by_avg_latency and x$wait_classes_global_by_avg_latency Views
      • 按事件event分组,统计各个event的平均延迟时长
    • The wait_classes_global_by_latency and x$wait_classes_global_by_latency Views
      • 按事件event分组,统计各个event的总延迟时长
    • The waits_by_host_by_latency and x$waits_by_host_by_latency Views
    • The waits_by_user_by_latency and x$waits_by_user_by_latency Views
    • The waits_global_by_latency and x$waits_global_by_latency Views
      • 所有event的延迟情况

    10.2、应用场景

    等待类视图,分别从事件、主机、用户等角度,进行查询分析。


    sys schema上的视图对于做性能分析是很重要的,建议大家重点掌握~

    后面会分享更多devops和DBA方面内容,感兴趣的朋友可以关注下!

    展开全文
  • dbeaver工具连接DB2数据库 ... #在dbeaver中对DB2数据库...#在dbeaver中对DB2数据库新增表 create table USERS( id int NOT NULL primary key, NAME VARCHAR(500), EMAIL VARCHAR(500), AGE VARCHAR(200), ...

    dbeaver工具连接DB2数据库

    drivername:com.ibm.db2.jcc.DB2Driver

    #在dbeaver中对DB2数据库创建数据库(Schema):

    #在dbeaver中对DB2数据库新增表

    create table HMF.USERS(
           id int NOT NULL primary key,
           NAME VARCHAR(500),
           EMAIL VARCHAR(500),
           AGE VARCHAR(200),
           SEX VARCHAR(200),
           ID_CARD VARCHAR(500),
           MOBILE_PHONE VARCHAR(500),
           VISA_CARD VARCHAR(500),
           OFFICER_CARD VARCHAR(500),
           ADDRESS VARCHAR(500)
    );

    #在dbeaver中对DB2数据库表插入数据

    INSERT INTO HMF.USERS VALUES ('1', '郑网', 'xingwei01@qq.com', '24', 'M', '460025198109201501', '18692031970', 'SYP618183451', '军字第00111209号', '北京市朝阳区立水桥南');
    INSERT INTO HMF.USERS VALUES ('2', '小黑', 'xingwei02@qq.com', '24', 'M', '460025198109201502', '18692031971', 'SYP618183452', '军字第00111210号', '北京市朝阳区立水桥南');
    INSERT INTO HMF.USERS VALUES ('3', '小白', 'xingwei03@qq.com', '24', 'M', '460025198109201503', '18692031972', 'SYP618183453', '军字第00111211号', '北京市朝阳区立水桥南');

     

     

     

     

    展开全文
  • select * from information_schema.PROCESSLIST WHERE command != “sleep” AND command != “Connect” AND command != ‘Binlog Dump GTID’ AND command != ‘Daemon’; 来查询当前正在执行查询语句的进程 如果...

    首先运行SQL语句

    select * from information_schema.PROCESSLIST WHERE command != “sleep” AND command != “Connect” AND command != ‘Binlog Dump GTID’ AND command != ‘Daemon’;

    来查询当前正在执行查询语句的进程 如果卡表
    ,则需要杀死对应进程,
    进程名称对应ID kill …

    由于单独新增某一索引导致的卡表,
    所以TIME中最长的一定是卡主整张表的索引
    优先杀死TIME最长的查询即可,
    杀死之后即刻删除索引

    展开全文
  • PERFORMANCE_SCHEMA数据库

    2015-10-20 10:37:35
    --MySQL 5.5新增一个存储引擎:命名PERFORMANCE_SCHEMA ,主要用于收集数据库服务器性能参数 performance_schema提供以下功能: 提供进程等待的详细信息,包括锁、互斥变量、文件信息; 保存历史的事件汇总信...
  • 简单介绍performance_schema数据库

    千次阅读 2012-11-24 11:18:58
    本文转载自:...MySQL 5.5新增一个存储引擎:命名PERFORMANCE_SCHEMA ,主要用于收集数据库服务器性能参数。MySQL用户是不能创建存储引擎为PERFORMANCE_SCHEMA的表 perfor
  • MySQL 5.5新增一个存储引擎:命名PERFORMANCE_SCHEMA,主要用于收集数据库服务器性能参数。MySQL用户是不能创建存储引擎为PERFORMANCE_SCHEMA的表 performance_schema提供以下功能: 1、提供进程等待的详细信息,...
  • 用于将线上数据库结构变化同步到本地环境! 支持功能: 同步新表 同步字段变动:新增、修改 同步索引变动:新增、修改 支持预览(只对比不同步变动) 邮件通知变动结果 支持屏蔽更新表、字段、索引、外键 支持...
  • MySQL 5.5新增一个存储引擎:命名PERFORMANCE_SCHEMA ,主要用于收集数据库服务器性能参数。MySQL用户是不能创建存储引擎为PERFORMANCE_SCHEMA的表performance_schema提供以下功能:1、提供进程等待的详细信息,包括...
  • information_schema是MySQL下的DB,存储了数据库的数据字典,但OS系统上,并没有information_schema下表的数据和结构文件。所以,MySQL在针对information_schema下的表进行查询的时候,在内存中构造了memory引擎的...
  • MySQL-schema-sync mysql表结构自动同步工具 用于将线上数据库结构变化同步到本地环境! 支持功能: 同步新表 同步字段变动:新增、修改 同步索引变动:新增、修改 支持预览(只对比不同步变动) 邮件通知变动...
  • information_schema是MySQL下的DB, 存储了数据库的数据字典,但OS系统上,并没有information_schema下表的数据和结构文件。 所以,MySQL在针对information_schema下的表进行查询的时候,在内存中构造了memory引擎的...
  • 数据库

    2018-11-20 20:56:00
    一系统数据库: information_schema: ... performance_schema: mysql 5.5开始新增一个数据库, 主要用于收集数据库服务器性能参数, 记录处理查询请求时发生的各种事件, 锁等现象, MySQL, : 授权库, 主要存在用户的权...
  • information_schema是MySQL下的DB, 存储了数据库的数据字典,但OS系统上,并没有information_schema下表的数据和结构文件。所以,MySQL在针对information_schema下的表进行查询的时候,在内存中构造了memory引擎的...
  • MySQL 5.5新增一个存储引擎:命名PERFORMANCE_SCHEMA ,主要用于收集数据库服务器性能参数。MySQL用户是不能创建存储引擎为PERFORMANCE_SCHEMA的表 performance_schema提供以下功能: 1.提供进程等待的详细信息,...
  • php artisan make:migration create_comments_table <?... use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateCommentTable extends Migration { /*...
  • 实验目的:查看当前用户有哪些数据库新增数据库、删除数据库 实验相关代码: show databases;//查看当前数据库 create database stu;//创建一个名叫stu的数据库 drop database stu;//删除一个名叫stu的数据库 ** ...
  • 自动填充数据新增测试数据In this article, we will examine the process of populating the employee database with dummy data, whose schema we designed in the previous article. Filling a SQL database with ...
  • 这几天在做全文检索 花了我好大力气啊 尼玛啊各种异常!! 经过我不懈努力终于搞出来了。。。 :lol: :lol: :lol: 废话不多说 附源码 新手第一次发帖,勿喷。..., schema = "PROEDU") publ...
  • information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息、列信息、权限信息、字符信息等performance_schema: MySQL 5.5开始新增一个数据库:主要用于收集数据库服务器性能...
  • 一、系统数据库 二、创建数据库 三、数据库相关操作 四、了解内容 ...一、系统数据库 ...information_schema: 虚拟库,不占用磁盘空间,存储的是...performance_schema: MySQL 5.5开始新增一个数据库:主要用于...
  • [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'information_schema.PROFILING.SEQ' which is not functionally dependent on columns in GROU...
  • 一:Performance Schema的开启在mysql中新增了一个性能优化的引擎,在mysql5.6.6之前Performance Schema是默认关闭的,在Mysql5.6.6之后Performance Schema默认是开启的。所以mysql5.6.6之前的版本要使用Performance ...
  • 一:Performance Schema的开启在mysql中新增了一个性能优化的引擎,在mysql5.6.6之前Performance Schema是默认关闭的,在Mysql5.6.6之后Performance Schema默认是开启的。所以mysql5.6.6之前的版本要使用Performance ...
  • 第一篇:初识数据库注:第二...performance_schema:MySQL 5.5开始新增一个数据库:主要用于收集数据库服务器性能参数,记录处理查询请求时发生的各种事件、锁等现象 。mysql:授权库,主要存储系统用户的权限信息。...
  • PostgreSQL , citus , 新增对象 , 新增数据库 , 新增用户 背景 citus是PG的一个插件,插件主要针对普通SQL(非UTILITY)加HOOK进行了一些ROUTE处理,同时使用UDF对表进行新建分区的操作。 如果用户如果要执行DDL,...

空空如也

空空如也

1 2 3 4 5 ... 18
收藏数 346
精华内容 138
关键字:

数据库新增schema