1

我在数据库上做了一些实验。在这种情况下,每个查询都会从 TPCH 基准 ( select * from table;) 的一个表中选择所有内容。在我解析每个查询之前和之后/proc/[pid]/io,其中 [pid] 是数据库的进程。这些值的差异应该告诉我查询的 IO。这是 MySQL 的典型输出(秒,MB):

      Query         time          RCHAR        WCHAR   READ_BYTES  WRITE_BYTES CANCELLED_WB
query1.sql|       0.005|       0.00234|     0.00245|     0.00391|     0.00000|     0.00000
query2.sql|       0.008|       0.00043|     0.00058|     0.00391|     0.00000|     0.00000
query3.sql|       0.041|       1.37217|     1.37296|     1.37891|     0.00000|     0.00000
query4.sql|       0.270|      23.41719|    23.64796|    23.44531|     0.00000|     0.00000
query5.sql|       0.346|      23.43413|    23.58974|    23.46484|     0.00000|     0.00000
query6.sql|       1.413|     113.77629|   115.76173|   113.89453|     0.00000|     0.00000
query7.sql|       1.792|     140.49537|   168.27847|   140.64062|     0.00000|     0.00000
query8.sql|       8.847|     614.04820|   759.00238|   614.65625|     0.00000|     0.00000
   Overall|      12.738|     916.54611|  1091.65626|   917.48828|     0.00000|     0.00000

我想知道WCHAR(写字符)值来自哪里。我的查询“读取所有内容”而不是“写入任何内容”(由于“WRITE_BYTES”为空,实际上没有磁盘写入,而是写入缓存/缓冲区?)。我在这里想念什么?

4

1 回答 1

1

我认为 TTY io(也许还有网络?)包含在 WCHAR 中,但 WRITE_BYTES 只计算写入磁盘的页面。

于 2012-05-04T09:26:46.223 回答