統計信息查詢視圖|全方位認識 sys 系統庫

2021-02-16 老葉茶館

在上一篇《會話和鎖信息查詢視圖|全方位認識 sys 系統庫》中,我們介紹了如何使用 sys 系統庫總的視圖來查詢會話狀態信息以及鎖等待信息,本期的內容先給大家介紹查詢表和索引相關的統計信息快捷視圖。下面請跟隨我們一起開始 sys 系統庫的系統學習之旅吧。

PS:由於本文中所提及的視圖功能的特殊性(DBA日常工作中可能需要查詢一些統計信息做一些數據分析使用),所以下文中會列出部分視圖中的select語句文本,以便大家更直觀地學習它們。

01schema_auto_increment_columns

在所有資料庫中(排除系統字典庫 mysql,sys,INFORMATION_SCHEMA,performance_schema)查找帶有自增列的基表及其相關的信息,默認按照自增值使用率和自增列類型最大值進行降序排序。數據來源:INFORMATION_SCHEMA的COLUMNS、TABLES

視圖查詢語句文本

SELECT TABLE_SCHEMA,
  TABLE_NAME,
  COLUMN_NAME,
  DATA_TYPE,
  COLUMN_TYPE,
  (LOCATE('unsigned', COLUMN_TYPE) = 0) AS is_signed,
  (LOCATE('unsigned', COLUMN_TYPE) > 0) AS is_unsigned,
  (
      CASE DATA_TYPE
        WHEN 'tinyint' THEN 255
        WHEN 'smallint' THEN 65535
        WHEN 'mediumint' THEN 16777215
        WHEN 'int' THEN 4294967295
        WHEN 'bigint' THEN 18446744073709551615
      END >> IF(LOCATE('unsigned', COLUMN_TYPE) > 0, 0, 1)
  ) AS max_value,
  AUTO_INCREMENT,
  AUTO_INCREMENT / (
    CASE DATA_TYPE
      WHEN 'tinyint' THEN 255
      WHEN 'smallint' THEN 65535
      WHEN 'mediumint' THEN 16777215
      WHEN 'int' THEN 4294967295
      WHEN 'bigint' THEN 18446744073709551615
    END >> IF(LOCATE('unsigned', COLUMN_TYPE) > 0, 0, 1)
  ) AS auto_increment_ratio
FROM INFORMATION_SCHEMA.COLUMNS
INNER JOIN INFORMATION_SCHEMA.TABLES USING (TABLE_SCHEMA, TABLE_NAME)
WHERE TABLE_SCHEMA NOT IN ('mysql', 'sys', 'INFORMATION_SCHEMA', 'performance_schema')
AND TABLE_TYPE='BASE TABLE'
AND EXTRA='auto_increment'
ORDER BY auto_increment_ratio DESC, max_value;

下面我們看看使用該視圖查詢返回的結果

admin@localhost : sys 11:11:58> select * from schema_auto_increment_columns limit 5;
+----+--+---+-+---+-+---+--+-+--+
| table_schema | table_name | column_name | data_type | column_type      | is_signed | is_unsigned | max_value  | auto_increment | auto_increment_ratio |
+----+--+---+-+---+-+---+--+-+--+
| sbtest      | sbtest1    | id          | int      | int(10) unsigned |        0 |          1 | 4294967295 |      10713891 |              0.0025 |
| sbtest      | sbtest2    | id          | int      | int(10) unsigned |        0 |          1 | 4294967295 |      10710865 |              0.0025 |
| sbtest      | sbtest3    | id          | int      | int(10) unsigned |        0 |          1 | 4294967295 |      10714919 |              0.0025 |
| sbtest      | sbtest4    | id          | int      | int(10) unsigned |        0 |          1 | 4294967295 |      10714039 |              0.0025 |
| sbtest      | sbtest5    | id          | int      | int(10) unsigned |        0 |          1 | 4294967295 |      10713075 |              0.0025 |
+----+--+---+-+---+-+---+--+-+--+
5 rows in set (1.50 sec)

視圖欄位含義如下:

TABLE_SCHEMA:包含自增值的表的schema名稱

TABLE_NAME:包含AUTO_INCREMENT值的表名

column_name:AUTO_INCREMENT值的列名稱

data_type:自增列的數據類型

COLUMN_TYPE:自增列的列屬性類型,即在數據類型基礎上加上一些其他信息。例如:對於bigint(20) unsigned,整個信息就被稱為列屬性類型,而數據類型只是指的bigint

is_signed:列類型是否是有符號的

is_unsigned:列類型是否是無符號的

MAX_VALUE:自增列的最大自增值

auto_increment:自增列的當前AUTO_INCREMENT屬性值

auto_increment_ratio:自增列當前使用的自增值與自增列最大自增值的比例,表示當前自增列的使用率

02schema_index_statistics,x$schema_index_statistics

索引統計信息,默認按照使用索引執行增刪改查操作的總延遲時間(執行時間)降序排序,數據來源:performance_schema.table_io_waits_summary_by_index_usage

視圖查詢語句文本

# 不帶x$前綴的視圖
SELECT OBJECT_SCHEMA AS table_schema,
  OBJECT_NAME AS table_name,
  INDEX_NAME as index_name,
  COUNT_FETCH AS rows_selected,
  sys.format_time(SUM_TIMER_FETCH) AS select_latency,
  COUNT_INSERT AS rows_inserted,
  sys.format_time(SUM_TIMER_INSERT) AS insert_latency,
  COUNT_UPDATE AS rows_updated,
  sys.format_time(SUM_TIMER_UPDATE) AS update_latency,
  COUNT_DELETE AS rows_deleted,
  sys.format_time(SUM_TIMER_INSERT) AS delete_latency
FROM performance_schema.table_io_waits_summary_by_index_usage
WHERE index_name IS NOT NULL
ORDER BY sum_timer_wait DESC;

# 帶x$前綴的視圖查詢語句與不帶x$前綴的視圖查詢語句相比,只是少了單位格式化函數
.

下面我們看看使用該視圖查詢返回的結果

# 不帶x$前綴的視圖
admin@localhost : sys 11:19:43> select * from schema_index_statistics limit 5;
+----+--+--++-++-+----+-+----+-+
| table_schema | table_name | index_name | rows_selected | select_latency | rows_inserted | insert_latency | rows_updated | update_latency | rows_deleted | delete_latency |
+----+--+--++-++-+----+-+----+-+
| xiaoboluo    | test      | PRIMARY    |          1159 | 3.57 s        |            0 | 0 ps          |            0 | 0 ps          |            0 | 0 ps          |
| sys          | sys_config | PRIMARY    |            1 | 62.53 ms      |            0 | 0 ps          |            0 | 0 ps          |            0 | 0 ps          |
| sbtest      | sbtest1    | i_c        |            20 | 31.43 ms      |            0 | 0 ps          |            0 | 0 ps          |            0 | 0 ps          |
| xiaoboluo    | test      | i_test    |          400 | 3.77 ms        |            0 | 0 ps          |            0 | 0 ps          |            0 | 0 ps          |
| luoxiaobo    | public_num | PRIMARY    |            0 | 0 ps          |            0 | 0 ps          |            0 | 0 ps          |            0 | 0 ps          |
+----+--+--++-++-+----+-+----+-+
5 rows in set (0.45 sec)

# 帶x$前綴的視圖
admin@localhost : sys 11:20:21> select * from x$schema_index_statistics limit 5;
+----+--+--++-++-+----+-+----+-+
| table_schema | table_name | index_name | rows_selected | select_latency | rows_inserted | insert_latency | rows_updated | update_latency | rows_deleted | delete_latency |
+----+--+--++-++-+----+-+----+-+
| xiaoboluo    | test      | PRIMARY    |          1159 |  3573795058125 |            0 |              0 |            0 |              0 |            0 |              0 |
| sys          | sys_config | PRIMARY    |            1 |    62528964375 |            0 |              0 |            0 |              0 |            0 |              0 |
| sbtest      | sbtest1    | i_c        |            20 |    31429669125 |            0 |              0 |            0 |              0 |            0 |              0 |
| xiaoboluo    | test      | i_test    |          400 |    3765146625 |            0 |              0 |            0 |              0 |            0 |              0 |
| luoxiaobo    | public_num | PRIMARY    |            0 |              0 |            0 |              0 |            0 |              0 |            0 |              0 |
+----+--+--++-++-+----+-+----+-+
5 rows in set (0.00 sec)

視圖欄位含義如下:

TABLE_SCHEMA:包含索引的表所在的schema名稱

TABLE_NAME:包含索引的表名

INDEX_NAME:索引的名稱

rows_selected:使用索引讀的總數據行數

select_latency:使用索引讀的總延遲時間(執行時間)

rows_inserted:插入索引的總行數

insert_latency:插入索引行的總延遲時間(執行時間)

rows_updated:索引更新的總行數

update_latency:索引更新行的總延遲時間(執行時間)

rows_deleted:從索引中刪除的總行數

delete_latency:從索引中刪除行的總延遲時間(執行時間)

03schema_object_overview

每個schema中包含的表、視圖、索引等對象的統計信息,默認按照schema名稱和對象類型進行排序,數據來源:information_schema的routines、tables、statistics、triggers、events

視圖查詢語句文本

SELECT ROUTINE_SCHEMA AS db, ROUTINE_TYPE AS object_type, COUNT(*) AS count FROM information_schema.routines GROUP BY ROUTINE_SCHEMA, ROUTINE_TYPE
UNION
SELECT TABLE_SCHEMA, TABLE_TYPE, COUNT(*) FROM information_schema.tables GROUP BY TABLE_SCHEMA, TABLE_TYPE
UNION
SELECT TABLE_SCHEMA, CONCAT('INDEX (', INDEX_TYPE, ')'), COUNT(*) FROM information_schema.statistics GROUP BY TABLE_SCHEMA, INDEX_TYPE
UNION
SELECT TRIGGER_SCHEMA, 'TRIGGER', COUNT(*) FROM information_schema.triggers GROUP BY TRIGGER_SCHEMA
UNION
SELECT EVENT_SCHEMA, 'EVENT', COUNT(*) FROM information_schema.events GROUP BY EVENT_SCHEMA
ORDER BY DB, OBJECT_TYPE;

下面我們看看使用該視圖查詢返回的結果

admin@localhost : sys 11:20:27> select * from schema_object_overview limit 10;
+++--+
| db                | object_type  | count |
+++--+
| information_schema | SYSTEM VIEW  |    61 |
| luoxiaobo          | BASE TABLE    |    3 |
| luoxiaobo          | INDEX (BTREE) |    3 |
| mysql              | BASE TABLE    |    31 |
| mysql              | INDEX (BTREE) |    69 |
| performance_schema | BASE TABLE    |    87 |
| qfsys              | BASE TABLE    |    1 |
| qfsys              | INDEX (BTREE) |    1 |
| sbtest            | BASE TABLE    |    8 |
| sbtest            | INDEX (BTREE) |    17 |
+++--+
10 rows in set (0.27 sec)

視圖欄位含義如下:

04schema_redundant_indexes

查找重複或冗餘索引,數據來源:sys.x$schema_flattened_keys,該數據來源視圖被稱作schema_redundant_indexes視圖的輔助視圖

下面我們看看使用該視圖查詢返回的結果

admin@localhost : sys 11:21:13> select * from schema_redundant_indexes limit 1\G;
*************************** 1. row ***************************
          table_schema: test
            table_name: test
  redundant_index_name: i_id
  redundant_index_columns: id
  redundant_index_non_unique: 1
  dominant_index_name: i_id_id2
dominant_index_columns: id,id2
dominant_index_non_unique: 1
        subpart_exists: 0
        sql_drop_index: ALTER TABLE `test`.`test` DROP INDEX `i_id`
1 row in set (0.01 sec)

視圖欄位含義如下:

TABLE_SCHEMA:包含冗餘或重複索引的表對應的schema名稱

TABLE_NAME:包含冗餘或重複索引的表名

redundant_index_name:冗餘或重複的索引名稱

redundant_index_columns:冗餘或重複索引中的列名

redundant_index_non_unique:冗餘或重複索引中非唯一列的數量

dominant_index_name:與重複或冗餘索引相比佔據優勢(最佳)的索引名稱

dominant_index_columns:佔據優勢(最佳)的索引中的列名

dominant_index_non_unique:佔據優勢(最佳)的索引中非唯一列的數量

subpart_exists:重複或冗餘索引是否是前綴索引

sql_drop_index:針對重複或冗餘索引生成的drop index語句

05schema_table_statistics,x$schema_table_statistics

查看表的統計信息,默認情況下按照增刪改查操作的總表I/O延遲時間(執行時間,即也可以理解為是存在最多表I/O爭用的表)降序排序,數據來源:performance_schema.table_io_waits_summary_by_table、sys.x$ps_schema_table_statistics_io

下面我們看看使用該視圖查詢返回的結果

# 不帶x$前綴的視圖
admin@localhost : sys 11:52:25> select * from schema_table_statistics limit 1\G
*************************** 1. row ***************************
table_schema: xiaoboluo
  table_name: test
total_latency: 2.10 m
rows_fetched: 1561
fetch_latency: 2.08 m
rows_inserted: 1159
insert_latency: 865.33 ms
rows_updated: 0
update_latency: 0 ps
rows_deleted: 0
delete_latency: 0 ps
io_read_requests: 43
      io_read: 178.86 KiB
io_read_latency: 15.00 ms
io_write_requests: 10
    io_write: 160.00 KiB
io_write_latency: 76.24 us
io_misc_requests: 42
io_misc_latency: 9.38 ms
1 row in set (0.03 sec)

# 帶x$前綴的視圖
admin@localhost : sys 11:52:28> select * from x$schema_table_statistics limit 1\G;
*************************** 1. row ***************************
table_schema: xiaoboluo
  table_name: test
total_latency: 125711643303375
rows_fetched: 1561
fetch_latency: 124846318302750
rows_inserted: 1159
insert_latency: 865325000625
rows_updated: 0
update_latency: 0
rows_deleted: 0
delete_latency: 0
io_read_requests: 43
      io_read: 183148
io_read_latency: 15001512375
io_write_requests: 10
    io_write: 163840
io_write_latency: 76237125
io_misc_requests: 42
io_misc_latency: 9384933000
1 row in set (0.02 sec)

視圖欄位含義如下:

TABLE_SCHEMA:包含TABLE_NAME欄位的表所在的schema名稱

TABLE_NAME:表名

total_latency:表的I/O事件的總延遲時間(執行時間),針對表增刪改查操作

rows_fetched:表讀取操作的總數據行數,針對表查詢操作

fetch_latency:表select操作的I/O事件的總延遲時間(執行時間),針對表查詢操作

rows_inserted:表插入操作的總數據行數,針對表插入操作

insert_latency:表insert操作的I/O事件的延遲時間(執行時間),針對表插入操作

rows_updated:表更新操作的總數據行數,針對表更新操作

update_latency:表更新操作的I/O事件的總延遲時間(執行時間),針對表更新操作

rows_deleted:表刪除操作的總數據行數,針對表刪除操作

delete_latency:表刪除操作的I/O事件的總延遲時間(執行時間),針對表刪除操作

io_read_requests:表讀取操作總請求次數,針對表.ibd和.frm文件的讀I/O操作

io_read:表讀操作相關的所有文件讀取操作的總字節數,針對表.ibd和.frm文件的讀I/O操作

io_read_latency:表讀操作相關的所有文件讀取操作的總延遲時間(執行時間),針對表.ibd和.frm文件的讀I/O操作

io_write_requests:表寫操作的總請求次數,針對表.ibd和.frm文件的寫I/O操作

io_write:表寫操作相關的所有文件寫操作的總字節數,針對表.ibd和.frm文件的寫I/O操作

io_write_latency:表寫操作相關的所有文件寫操作的總延遲時間(執行時間),針對表.ibd和.frm文件的寫I/O操作

io_misc_requests:表其他各種混雜操作相關的所有文件的I/O請求總次數,針對表.ibd和.frm文件的其他混雜I/O操作

io_misc_latency:表其他各種混雜操作相關的所有文件的I/O請求的總延遲時間(執行時間),針對表.ibd和.frm文件的其他混雜I/O操作

06schema_table_statistics_with_buffer,x$schema_table_statistics_with_buffer

查詢表的統計信息,其中還包括InnoDB緩衝池統計信息,默認情況下按照增刪改查操作的總表I/O延遲時間(執行時間,即也可以理解為是存在最多表I/O爭用的表)降序排序,數據來源:performance_schema.table_io_waits_summary_by_table、sys.x$ps_schema_table_statistics_io、sys.x$innodb_buffer_stats_by_table

下面我們看看使用該視圖查詢返回的結果

# 不帶x$前綴的視圖
admin@localhost : sys 12:36:57> select * from schema_table_statistics_with_buffer limit 1\G;
*************************** 1. row ***************************
          table_schema: xiaoboluo
            table_name: test
          rows_fetched: 1561
        fetch_latency: 2.08 m
        rows_inserted: 1159
        insert_latency: 865.33 ms
          rows_updated: 0
        update_latency: 0 ps
          rows_deleted: 0
        delete_latency: 0 ps
      io_read_requests: 48
              io_read: 179.29 KiB
      io_read_latency: 15.02 ms
    io_write_requests: 10
              io_write: 160.00 KiB
      io_write_latency: 76.24 us
      io_misc_requests: 47
      io_misc_latency: 9.47 ms
    innodb_buffer_allocated: 112.00 KiB
    innodb_buffer_data: 48.75 KiB
    innodb_buffer_free: 63.25 KiB
  innodb_buffer_pages: 7
innodb_buffer_pages_hashed: 0
innodb_buffer_pages_old: 0
innodb_buffer_rows_cached: 1162
1 row in set (2.21 sec)

# 帶x$前綴的視圖
admin@localhost : sys 12:37:35> select * from x$schema_table_statistics_with_buffer limit 1\G;
*************************** 1. row ***************************
          table_schema: xiaoboluo
            table_name: test
          rows_fetched: 1561
        fetch_latency: 124846318302750
        rows_inserted: 1159
        insert_latency: 865325000625
          rows_updated: 0
        update_latency: 0
          rows_deleted: 0
        delete_latency: 0
      io_read_requests: 48
              io_read: 183595
      io_read_latency: 15019373250
    io_write_requests: 10
              io_write: 163840
      io_write_latency: 76237125
      io_misc_requests: 47
      io_misc_latency: 9465938250
innodb_buffer_allocated: 114688
    innodb_buffer_data: 49917
    innodb_buffer_free: 64771
  innodb_buffer_pages: 7
innodb_buffer_pages_hashed: 0
innodb_buffer_pages_old: 0
innodb_buffer_rows_cached: 1162
1 row in set (2.12 sec)

視圖欄位含義如下:

表相關的統計信息欄位的含義與視圖schema_table_statistics的欄位含義相同,這裡省略,詳見schema_table_statistics,x$schema_table_statistics 視圖解釋部分

innodb_buffer_allocated:當前已分配給表的buffer pool總字節數

innodb_buffer_data:當前已分配給表的數據部分使用的buffer pool字節總數

innodb_buffer_free:當前已分配給表的非數據部分使用的buffer pool字節總數(即空閒頁所在的字節數,計算公式:innodb_buffer_allocated - innodb_buffer_data)

innodb_buffer_pages:當前已分配給表的buffer pool總頁數

innodb_buffer_pages_hashed:當前已分配給表的自適應hash索引頁總數

innodb_buffer_pages_old:當前已分配給表的舊頁總數(位於LRU列表中的舊塊子列表中的頁數)

innodb_buffer_rows_cached:buffer pool中為表緩衝的總數據行數

07schema_unused_indexes

查看不活躍的索引(沒有任何事件發生的索引,這表示該索引從未使用過),默認情況下按照schema名稱和表名進行排序。數據來源:performance_schema.table_io_waits_summary_by_index_usage

視圖查詢語句文本

SELECT object_schema,
  object_name,
  index_name
FROM performance_schema.table_io_waits_summary_by_index_usage
WHERE index_name IS NOT NULL
AND count_star = 0
AND object_schema != 'mysql'
AND index_name != 'PRIMARY'
ORDER BY object_schema, object_name;

下面我們看看使用該視圖查詢返回的結果

admin@localhost : sys 12:40:28> select * from schema_unused_indexes limit 3;
++---+----+
| object_schema | object_name | index_name        |
++---+----+
| luoxiaobo    | public_num  | public_name_index |
| sbtest        | sbtest1    | k_1              |
| sbtest        | sbtest2    | k_2              |
++---+----+
3 rows in set (0.00 sec)

視圖欄位含義如下:

object_schema:schema名稱

OBJECT_NAME:表名

INDEX_NAME:未使用的索引名稱

本期內容就介紹到這裡,本期內容參考連結如下:

https://dev.mysql.com/doc/refman/5.7/en/sys-schema-unused-indexes.html

https://dev.mysql.com/doc/refman/5.7/en/sys-schema-auto-increment-columns.html

https://dev.mysql.com/doc/refman/5.7/en/sys-schema-index-statistics.html

https://dev.mysql.com/doc/refman/5.7/en/sys-schema-object-overview.html

https://dev.mysql.com/doc/refman/5.7/en/sys-schema-redundant-indexes.html

https://dev.mysql.com/doc/refman/5.7/en/sys-schema-table-statistics.html

https://dev.mysql.com/doc/refman/5.7/en/sys-schema-table-statistics-with-buffer.html

| 作者簡介

羅小波·資料庫技術專家

《千金良方——MySQL性能優化金字塔法則》、《數據生態:MySQL複製技術與生產實踐》作者之一。熟悉MySQL體系結構,擅長資料庫的整體調優,喜好專研開源技術,並熱衷於開源技術的推廣,在線上線下做過多次公開的資料庫專題分享,發表過近100篇資料庫相關的研究文章。

全文完。

Enjoy MySQL :)

葉老師的「MySQL核心優化」大課已升級到MySQL 8.0,掃碼開啟MySQL 8.0修行之旅吧

相關焦點

  • 字符串與數字轉換函數 | 全方位認識 sys 系統庫
    本系列在之前的文章中我們為大家介紹了sys 系統庫的快捷視圖、函數,本期開始我們將為大家介紹
  • SQL查詢語句場景應用
    、更新和管理關係資料庫系統。4、視圖:在 SQL 中,視圖是基於 SQL 語句的結果集的可視化的表。視圖包含行和列,就像一個真實的表。視圖中的欄位就是來自一個或多個資料庫中的真實的表中的欄位。我們可以向視圖添加 SQL 函數、WHERE 以及 JOIN 語句。
  • Oracle總結【視圖、索引、事務、用戶權限、批量操作】
    ,叫系統用戶,如sys。2)利用系統用戶創建的用戶,叫普通用戶,如scott,hr,c》用sys登錄,查詢當前Oracle資料庫伺服器中已有用戶的名字和狀態  username表示登錄名  expired&locked表示帳號過期和鎖定  open表示帳號現在可用  sqlplus / as sysdba;  col username for a30;
  • 盤點Python程式語言sys庫中的7個常用函數
    盤點Python程式語言sys庫中的7個常用函數 這篇文章我們基於Python基礎,介紹sys模塊,介紹7個sys庫常用函數,對每個方法都採用圖文結合的方式,進行詳細的講解。
  • MSSQL中的聯合查詢與視圖
    前面幾篇講到SQL資料庫的一些查詢的基本語句,今天分享一下聯合查詢與視圖,這些在實際項目中用的也很多,問題也不少。='王一九' where gh='001'select * from V_tc(3)修改視圖,使用union all 語句關聯查詢出併集,並重複第(2)步中的操作:alter view V_tcasselect gh,name,bm from TableC where gh='001'union all
  • 利用SQL Profiler處理開銷較大的查詢
    為此,SQL Server查詢優化器生成一個成本效益高的查詢執行計劃。查詢優化器計算許多因素的權重,包括執行查詢所需要的CPU、內存以及磁碟I/O的使用情況-這些均來自於由索引維護或過程中生成的統計。通常開銷最低的計劃有最少的I/O,因為I/O操作代價昂貴。邏輯讀提供指出了查詢產生的內存壓力。
  • 盤點Python程式語言sys庫中的12個變量
    import sysprint sys.__doc__顯示了 sys 的基本文檔,看第一句話,概括了本模塊的基本特點。二、 sys的變量1. argvsys.argv 是變量,專門用來向 Python 解釋器傳遞參數,所以名曰「命令行參數」。
  • 帶臨時表的SQL查詢語句的優化方法
    我登錄資料庫,查詢當前系統的進程情況下圖(2),發現確實有些進程已經運行3600+秒,捕捉出其執行計劃,如:下圖(3)  案例(圖1,正式庫上該報表的運行時長)印象中,近期我沒對正式庫作過任何改動, 而且,報表在昨天查詢(10號)時,還是正常的,到了今天就一下子突然異常起來,這種變化給人一種異樣的感覺:該報表涉及到的數據量,到了一個量變引起質變的程度,導致了執行計劃突變異常。但不論是怎麼變,可以確定的是,是表的統計信息導致了執行計劃異常,致使報表無法查詢出結果。現在要思考的,是如何恢復回原來的執行計劃?
  • Python的sys標準庫的常用方法
    微信關注 @數據分析師攻略 公眾號關注、學習更多數據分析的知識與資訊------sys標準庫是Python一個自帶庫,無需單獨安裝,可以直接導入使用。sys庫的主要功能有提供對解釋器使用或維護的相關變量和方法,換句話說是與程序運行相關的變量和方法。使用print(dir(sys))可以查看sys庫包含的所有操作和方法,它包含了豐富的函數,每個函數方法直接調用即可。下面介紹sys庫常用的操作方法。
  • 一文搞懂Oracle鎖相關視圖及相關操作
    三、v$enqueue_lock視圖v$enqueue_lock該視圖中包含的欄位以及欄位含義與v$lock中的欄位一模一樣。只不過該視圖中只顯示那些申請鎖定,但是無法獲得鎖定的session信息。其中的記錄按照申請鎖定的時間先後順序排列,先申請鎖定的session排在前面,排在前面的session將會先獲得鎖定。
  • 詳解MySQL基準測試和sysbench工具
    並發量:同時處理的查詢請求的數量。基準測試的分類(1)針對整個系統的基準測試:通過http請求進行測試,如通過瀏覽器、APP或postman等測試工具。該方案的優點是能夠更好的針對整個系統,測試結果更加準確;缺點是設計複雜實現困難。(2)只針對MySQL的基準測試:優點和缺點與針對整個系統的測試恰好相反。
  • 詳解 MySQL 基準測試和 sysbench 工具
    並發量:同時處理的查詢請求的數量。4、基準測試的分類對MySQL的基準測試,有如下兩種思路:(1)針對整個系統的基準測試:通過http請求進行測試,如通過瀏覽器、APP或postman等測試工具。該方案的優點是能夠更好的針對整個系統,測試結果更加準確;缺點是設計複雜實現困難。
  • Sysbench測試神器:一條命令生成百萬級測試數據
    mysqlslap是MySQL5.1.4之後自帶的benchmark基準測試工具,該工具可以模擬多個客戶端同時並發的向伺服器發出查詢更新,給出了性能測試數據而且提供了多種引擎的性能比較。sysbench是一個模塊化的、跨平臺、多線程基準測試工具,主要用於評估測試各種不同系統參數下的資料庫負載情況,它主要包括以下幾種方式的測試:目前sysbench主要支持MySQL,pgsql,Oracle這3類資料庫默認支持
  • 詳解 MySQL 基準測試和sysbench工具
    並發量:同時處理的查詢請求的數量。基準測試的分類對MySQL的基準測試,有如下兩種思路:在針對MySQL進行基準測試時,一般使用專門的工具進行,例如mysqlslap、sysbench等。sysbench安裝本文使用的環境時CentOS 6.5;在其他Linux系統上的安裝方法大同小異。MySQL版本是5.6。
  • LoaRunner性能測試系統學習教程:如何跟蹤等待
    >sys.dm_os_waiting_tasks用於查看任務級信息,sys.dm_os_wait_tasts用於顯示等待時間的聚合。1)sys.dm_exec_requests sys.dm_exec_requests只提供會話級的相關信息,可以顯示SQLServer內執行的每個請求的相關信息,如果需要獲得更多的性能視圖可以通過任務級進行查看,系統進程可以在沒有建立會話的情況下運行任務,但相關信息並不會被顯示,並且並行查詢也很難進行故障診斷,因為在會話級只顯示一個等待
  • 結構化數據信息提取:基於Freebase的問答系統
    這個平臺將問題映射成了複雜的語義表示,從而根據這些語義表示匹配知識庫中可行的候選答案。這裡我們將展示關係模型信息抽取技術,它比起web-scale corpus,能比這些複雜的方法提高大約34%。介紹基於知識庫(KB)的問答系統(QA)在自然語言處理中有著悠久的歷史,可以追溯到1960年代和1970年代,使用的系統包括Baseball和Lunar。由於缺乏知識資源、計算能力和對自然語言的理解能力,這些系統被限制在特定的封閉領域。
  • 第七章SQLServer 2012視圖、存儲、觸發器
    專業ON 班級.專業代碼=專業.專業代碼join系部ON 專業.系部代碼=系部.系部代碼SQLServer 2005 視圖三、視圖的操作創建視圖有以下限制(1)只能在當前資料庫中創建(2)用戶創建視圖嵌套不能超過32層(3)不能將規則或默認定義與視圖相關(4)定義視圖查詢不能包含COMPUTE
  • MySQL資料庫SQL優化技巧之視圖的創建與銷毀
    為表中的一-列或者幾列信息創建視圖,為StudentInfo表中的姓名( sname).生源( address )信息創建一個 視圖NameAddress_ View。示例代碼如下。例如,一個表有50列,有成千上萬行,而用戶只需要使用表中的兩列數據,這時,我們可以為這兩列創建一個視圖,在視圖中查詢注意需要的數據,這樣會大大提高查詢效率。創建與表具有不同欄位名的視圖前面實例創建的視圖,並沒有特別指明視圖的欄位名,系統就默認為與表相同的欄位名。實際上,創建視圖時,我們也可以為表中的數據定義新的欄位名。
  • 事事明:淺談中小學校如何構建和使用「雙重預防管理信息系統」
    ,進行快速的查詢,方便統計。 1、管風險:在事事明系統內建立風險源庫首先,事事明幫助該學校完成風控模型的建設,對所有作業工序風險進行辨識,建立設備設施庫、作業工序和風險源庫。(圖1)根據學校已有的風險源庫資料,在事事明內直接導入風險源庫數據。學校可以根據風險等級進行顏色標識等設置,方便後續的數據統計以及日常管理。