Sql Performance Analyzer (SPA)

The SQL Performance Analyzer allows for the comparison of SQL performance statistics before and after changes and provide comparison report.

The Steps for SQL Replay is as below:

1 Capture SQLs on Production Database
2 Move SQLs to Test Database
3 Create a SQL Performance Analyzer task on the test system
4 Generate and store the query execution statistics before the change.
5 Make changes
6 Generate and store the query execution statistics after the change.
7 Compare Performance
8 Generate Report

1.Capture SQLs on Production Database

SQL>  exec dbms_sqltune.create_sqlset('STS')

PL/SQL 过程已成功完成。

SQL> DECLARE
  2          sts VARCHAR2(30) := 'STS';
  3  BEGIN
  4          dbms_sqltune.capture_cursor_cache_sqlset(sts,
  5                                                                                  30,
  6                                                                                  1,
  7                                                                                  'MERGE',
  8                                                                              dbms_sqltune.MODE_ACCUMULATE_STATS
  9                                                                               );
 10  END;
 11  /

PL/SQL 过程已成功完成。

SQL>

2.Move SQLs to Test Database

SQL> exec dbms_sqltune.create_stgtab_sqlset('SQLSET_TABLE');

PL/SQL 过程已成功完成。

SQL> exec dbms_sqltune.pack_stgtab_sqlset('STS','HENRY','SQLSET_TABLE','HENRY');

PL/SQL 过程已成功完成。

SQL> host exp henry/henry file=sqlset_table.dmp tables=sqlset_table

Export: Release 11.2.0.1.0 - Production on 星期二 12月 28 15:47:22 2010

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.


连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining,
Oracle Database Vault and Real Application Testing options
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集

即将导出指定的表通过常规路径...
. . 正在导出表                    SQLSET_TABLE导出了         160 行
成功终止导出, 没有出现警告。SQL> host imp bai/bai  file=sqlset_table.dmp full=y

Import: Release 11.2.0.1.0 - Production on 星期二 12月 28 15:55:01 2010

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.


连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining,
Oracle Database Vault and Real Application Testing options

经由常规路径由 EXPORT:V11.02.00 创建的导出文件

警告: 这些对象由 HENRY 导出, 而不是当前用户

已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
. 正在将 HENRY 的对象导入到 SYSTEM
. 正在将 HENRY 的对象导入到 SYSTEM
IMP-00015: 由于对象已存在, 下列语句失败:
 "CREATE PUBLIC SYNONYM "ANYDATA" FOR "SYS"."ANYDATA""
. . 正在导入表                  "SQLSET_TABLE"导入了         160 行

3 Create a SQL Performance Analyzer task on the test system

SQL> exec dbms_sqltune.UNPACK_STGTAB_SQLSET(SQLSET_NAME=>'STS', SQLSET_OWNER=>'HENRY',REPLACE=>true,STAGING_TABLE_NAME=>'SQLSET_
TABLE', STAGING_SCHEMA_OWNER=>'HENRY' );

PL/SQL 过程已成功完成。

SQL> var l_task_id char(30)
SQL> begin
  2      :l_task_id:=dbms_sqlpa.create_analysis_task(
  3                                          sqlset_name => 'STS',
  4                                          task_name => 'MY_REPLAY_TASK'
  5                                          );
  6  end;
  7  /

PL/SQL 过程已成功完成。

SQL> exec dbms_sqltune.set_tuning_task_parameter('MY_REPLAY_TASK','LOCAL_TIME_LIMIT',60);

PL/SQL 过程已成功完成。

SQL> exec dbms_sqltune.set_tuning_task_parameter('MY_REPLAY_TASK','TIME_LIMIT',200000000000);

PL/SQL 过程已成功完成。
4 Generate and store the query execution statistics before the change.

SQL> begin
  2  DBMS_SQLPA.EXECUTE_ANALYSIS_TASK(
  3                                      task_name => 'MY_REPLAY_TASK',
  4                                      execution_type => 'TEST EXECUTE',
  5                                      execution_name => 'MY_REPLAY_EXECUTE_BEFORE'
  6                                      );
  7  end;
  8  /

PL/SQL 过程已成功完成。

SQL> col TASK_NAME format a30
SQL> col EXECUTION_NAME for a30
SQL> select execution_name,
  2  status,
  3  execution_end
  4  from DBA_ADVISOR_EXECUTIONS
  5  where task_name='MY_REPLAY_TASK'
  6   order by execution_end
  7  /

EXECUTION_NAME                 STATUS      EXECUTION_END
------------------------------ ----------- --------------
MY_REPLAY_EXECUTE_BEFORE       COMPLETED   28-12月-10
MY_REPLAY_EXECUTE_after        COMPLETED   28-12月-10
MY_COMPARE_EXECUTION           COMPLETED   28-12月-10
MY_REPLAY_EXECUTE_BEFORE       COMPLETED   28-12月-10

SQL> select TASK_ID,TASK_NAME,TASK_NAME , STATUS
  2  FROM USER_ADVISOR_TASKS
  3  WHERE task_name = 'MY_REPLAY_TASK';

   TASK_ID TASK_NAME                      TASK_NAME                      STATUS
---------- ------------------------------ ------------------------------ -----------
       412 MY_REPLAY_TASK                 MY_REPLAY_TASK                 COMPLETED

SQL> SELECT sofar, totalwork FROM V$ADVISOR_PROGRESS
  2  ;

     SOFAR  TOTALWORK
---------- ----------
       487        487
       487        487
       487        487
         0          0

SQL> select TASK_ID,TASK_NAME,TASK_NAME , STATUS FROM USER_ADVISOR_TASKS WHERE task_name = 'MY_REPLAY_TASK';

   TASK_ID TASK_NAME                      TASK_NAME                      STATUS
---------- ------------------------------ ------------------------------ -----------
       412 MY_REPLAY_TASK                 MY_REPLAY_TASK                 COMPLETED

SQL> show parameter target;

5 Make changes

SQL> show parameter target;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
archive_lag_target                   integer     0
db_flashback_retention_target        integer     1440
fast_start_io_target                 integer     0
fast_start_mttr_target               integer     0
memory_max_target                    big integer 820M
memory_target                        big integer 800M
parallel_servers_target              integer     8
pga_aggregate_target                 big integer 0
sga_target                           big integer 0

SQL>  alter system set memory_target=500m;

系统已更改。
6 Generate and store the query execution statistics after the change.

SQL> begin
  2  DBMS_SQLPA.EXECUTE_ANALYSIS_TASK(
  3  task_name => 'MY_REPLAY_TASK',
  4  execution_type => 'TEST EXECUTE',
  5  execution_name => 'MY_REPLAY_EXECUTE_after');
  6  end;
  7  /

PL/SQL 过程已成功完成。

7 Compare Performance

SQL> Begin
  2
  3  DBMS_SQLPA.EXECUTE_ANALYSIS_TASK(
  4  task_name => 'MY_REPLAY_TASK',
  5  execution_type => 'COMPARE PERFORMANCE',
  6  execution_name => 'MY_COMPARE_EXECUTION');
  7
  8  end;
  9  /

PL/SQL 过程已成功完成。

8 Generate Report

SQL> set serveroutput on size 999999
SQL> set long 999999
SQL>
SQL> select DBMS_SQLPA.REPORT_ANALYSIS_TASK('MY_REPLAY_TASK') from dual;

DBMS_SQLPA.REPORT_ANALYSIS_TASK('MY_REPLAY_TASK')
--------------------------------------------------------------------------------
General Information
---------------------------------------------------------------------------------------------

 Task Information:                              Workload Information:

 ---------------------------------------------  ---------------------------------------------
  Task Name    : MY_REPLAY_TASK                  SQL Tuning Set Name        : STS_TEST
  Task Owner   : HENRY                           SQL Tuning Set Owner       : HE
NRY
  Description  :                                 Total SQL Statement Count  : 487


DBMS_SQLPA.REPORT_ANALYSIS_TASK('MY_REPLAY_TASK')
--------------------------------------------------------------------------------
Execution Information:
---------------------------------------------------------------------------------------------
  Execution Name             : MY_COMPARE_EXECUTION    Started             : 12/28/2010 15:4
1:54
  Execution Type             : COMPARE PERFORMANCE     Last Updated        : 12/28/2010 15:42:00
  Description                :                         Global Time Limit   : 200000000000

  Scope                      : COMPREHENSIVE           Per-SQL Time Limit  : 60
  Status                     : COMPLETED               Number of Errors    : 221

  Number of Unsupported SQL  : 11

DBMS_SQLPA.REPORT_ANALYSIS_TASK('MY_REPLAY_TASK')
--------------------------------------------------------------------------------

Analysis Information:
---------------------------------------------------------------------------------------------
 Before Change Execution:                          After Change Execution:
 ---------------------------------------------     ------------------------------
---------------
  Execution Name      : MY_REPLAY_EXECUTE_BEFORE    Execution Name      : MY_REPLAY_EXECUTE_after
  Execution Type      : TEST EXECUTE                Execution Type      : TEST EX
ECUTE
  Scope               : COMPREHENSIVE               Scope               : COMPREHENSIVE
  Status              : COMPLETED                   Status              : COMPLET

DBMS_SQLPA.REPORT_ANALYSIS_TASK('MY_REPLAY_TASK')
--------------------------------------------------------------------------------
ED
  Started             : 12/28/2010 15:38:18         Started             : 12/28/2010 15:41:22
  Last Updated        : 12/28/2010 15:39:05         Last Updated        : 12/28/2
010 15:41:47
  Global Time Limit   : 200000000000                Global Time Limit   : 200000000000
  Per-SQL Time Limit  : 60                          Per-SQL Time Limit  : 60

  Number of Errors    : 221                         Number of Errors    : 221


 ---------------------------------------------

DBMS_SQLPA.REPORT_ANALYSIS_TASK('MY_REPLAY_TASK')
--------------------------------------------------------------------------------
 Comparison Metric: ELAPSED_TIME

 ------------------
 Workload Impact Threshold: 1%

 --------------------------
 SQL Impact Threshold: 1%

 ----------------------

Report Summary

DBMS_SQLPA.REPORT_ANALYSIS_TASK('MY_REPLAY_TASK')
--------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------

Projected Workload Change Impact:
-------------------------------------------
 Overall Impact      :  -8.81%
 Improvement Impact  :  1.52%
 Regression Impact   :  -10.32%

SQL Statement Count
-------------------------------------------
 SQL Category  SQL Count  Plan Change Count

DBMS_SQLPA.REPORT_ANALYSIS_TASK('MY_REPLAY_TASK')
--------------------------------------------------------------------------------
 Overall             487                  0
 Improved              1                  0
 Regressed             4                  0
 Unchanged           250                  0
 with Errors         221                  0
 Unsupported          11                  0

Top 100 SQL Sorted by Absolute Value of Change Impact on the Workload
---------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
----

DBMS_SQLPA.REPORT_ANALYSIS_TASK('MY_REPLAY_TASK')
--------------------------------------------------------------------------------
|           |               | Impact on | Execution | Metric | Metric | Impact    | Plan   |
| object_id | sql_id        | Workload  | Frequency | Before | After  | on SQL    | Change |
-----------------------------------------------------------------------------------------
---
|      1171 | 5xpk50ma14qx0 |    -3.61% |       600 | 329629 | 348143 |    -5.62% | n      |
|      1301 | a8j39qb13tqkr |    -2.96% |        67 | 304100 | 440113 |   -44.73% | n      |
|      1085 | 35wbu3rr5q80d |    -2.08% |      2928 |   1264 |   3452 |   -173.1% | n
 |
|      1140 | 51vw8qf5uprrv |    -1.67% |        91 |   3092 |  59474 | -1823.48% | n      |
|      1063 | 2ft0vv13g0xkd |     1.52% |        91 | 145457 |  94220 |    35.22% | n      |
|      1360 | cm5vu20fhtnq1 |     -.91% |     84541 |     50 |     83 |      -66% | n

DBMS_SQLPA.REPORT_ANALYSIS_TASK('MY_REPLAY_TASK')
--------------------------------------------------------------------------------
|
|      1272 | 9b7pdpgf2znkk |      .75% |       100 | 126012 | 103010 |    18.25% | n      |
|      1046 | 1spv5pysapqvc |       .3% |        91 |  18908 |   8599 |    54.52% | n      |
|      1150 | 59suf2bbv0ht2 |     -.28% |        91 | 125721 | 135106 |    -7.46% | n      |

|      1462 | gwj1f651t001a |     -.26% |       295 |   2242 |   4980 |  -122.12% | n      |
|      1397 | dtgc9kqnm4v5s |     -.23% |      2928 |    642 |    881 |   -37.23% | n      |
|      1029 | 1d0yffmmwdnf3 |      .22% |      2928 |    365 |    136 |    62.74% | n      |
|       994 | 0drjkaxn1jfzh |     -.21% |      1511 |    535 |    966 |   -80.56
% | n      |
|      1060 | 27v7m7f3zm07w |      .16% |       272 |   3795 |   2027 |    46.59% | n      |

DBMS_SQLPA.REPORT_ANALYSIS_TASK('MY_REPLAY_TASK')
--------------------------------------------------------------------------------
|      1321 | ayh8rjn158m80 |     -.13% |      6358 |     49 |    110 |  -124.49% | n      |
|      1425 | fsbqktj5vw6n9 |      .11% |      2962 |    369 |    252 |    31.71%
 | n      |
|      1391 | dpxn9r818qm9r |      .11% |      2929 |    218 |    100 |    54.13% | n      |
|      1078 | 30hy59nc21g04 |       .1% |      2933 |    322 |    220 |    31.68% | n      |
|      1003 | 0k8522rmdzg4k |      .07% |      2879 |    145 |     73 |    49.66%
| n      |
|      1069 | 2n1hu6d1pmvtw |     -.07% |      2933 |     67 |    137 |  -104.48% | n      |
|      1016 | 12kw3xcxv1qpg |      .06% |      1779 |    190 |     80 |    57.89% | n      |
|      1086 | 3626j8qpgf20s |     -.06% |        53 |   4366 |   7934 |   -81.72% |
 n      |

DBMS_SQLPA.REPORT_ANALYSIS_TASK('MY_REPLAY_TASK')
--------------------------------------------------------------------------------
|       982 | 089dbukv1aanh |     -.06% |     31334 |     63 |     69 |    -9.52% | n      |
|      1118 | 4a3ccstvk0ssw |      .06% |      1779 |    185 |     80 |    56.76% | n      |
|      1221 | 7ng34ruy5awxq |     -.06% |      3166 |     90 |    145 |   -61.11% |
n      |
|      1324 | azr4arr8v288y |     -.05% |      2928 |     46 |     99 |  -115.22% | n      |
|      1200 | 74jp9b3h4krhd |      .05% |      2933 |    134 |     82 |    38.81% | n      |
|      1189 | 6r75f7k88qr4a |      .05% |      2933 |    134 |     83 |    38.06% | n
      |
|      1132 | 4yb79gnqp1v90 |      .05% |      2928 |    144 |     93 |    35.42% | n      |
|      1111 | 3yqfw6yfwwmyk |      .05% |      2928 |     90 |     40 |    55.56% | n      |
|      1121 | 4fhzczsnd3zr2 |      .05% |      2928 |     88 |     40 |    54.55% | n

DBMS_SQLPA.REPORT_ANALYSIS_TASK('MY_REPLAY_TASK')
--------------------------------------------------------------------------------
     |
|      1364 | ctyb7x3gfayw5 |     -.04% |      2928 |     46 |     93 |  -102.17% | n      |
|      1407 | f6x4ksgvy5bkx |      .04% |      2687 |    108 |     58 |     46.3% | n      |
|      1002 | 0k54hbxdpz2a6 |      .04% |      2928 |     88 |     44 |       50% | n
    |
|      1454 | grwydz59pu6mc |     -.04% |      6077 |     43 |     63 |   -46.51% | n      |
|      1463 | gwqrn0xb8btyt |     -.04% |      2995 |     51 |     90 |   -76.47% | n      |
|      1337 | bqfx5q2jas08u |      .04% |        89 |   5701 |   4392 |    22.96% | n
   |
|      1326 | b2u9kspucpqwy |     -.04% |       210 |    148 |    693 |  -368.24% | n      |
|      1109 | 3ybzn58dw0g6d |      .03% |      2928 |     92 |     56 |    39.13% | n      |

DBMS_SQLPA.REPORT_ANALYSIS_TASK('MY_REPLAY_TASK')
--------------------------------------------------------------------------------
|      1106 | 3w4qs0tbpmxr6 |      .03% |      2032 |     97 |     46 |    52.58% | n
  |
|      1134 | 4z2at9d1natrv |      .03% |       842 |    352 |    230 |    34.66% | n      |
|      1438 | g41n1r60y3d71 |     -.03% |      2929 |     64 |     99 |   -54.69% | n      |
|       984 | 08vznc16ycuag |      .03% |      1497 |    200 |    133 |     33.5% | n
 |
|      1164 | 5ms6rbzdnq16t |      .03% |     16551 |     67 |     61 |     8.96% | n      |
|      1129 | 4x2cynvsuuddu |      .03% |       151 |   1945 |   1291 |    33.62% | n      |
|      1116 | 459f3z9u4fb3u |      .03% |      1359 |    125 |     53 |     57.6% | n
|
|      1395 | drvfnp22at00m |     -.03% |      2928 |     41 |     74 |   -80.49% | n      |

DBMS_SQLPA.REPORT_ANALYSIS_TASK('MY_REPLAY_TASK')
--------------------------------------------------------------------------------
|      1263 | 934ur8r7tqbjx |     -.03% |       143 |   2338 |   2996 |   -28.14% | n      |
|      1185 | 6k5agh28pr3wp |     -.03% |       210 |    450 |    898 |   -99.56% | n      |

|      1365 | cumjq42201t37 |     -.03% |      1512 |     50 |    112 |     -124% | n      |
|       980 | 05xcf43d9psvm |      .03% |       210 |   1080 |    674 |    37.59% | n      |
|      1071 | 2q93zsrvbdw48 |      .03% |      1807 |    173 |    126 |    27.17% | n      |
|      1409 | f8y4ubckk4pfh |      .03% |        91 |   1684 |    813 |    51.72
% | n      |
|      1361 | crwtm662ycm4w |     -.02% |       761 |    129 |    228 |   -76.74% | n      |
|      1355 | cb21bacyh3c7d |     -.02% |      2970 |     44 |     69 |   -56.82% | n      |
|       986 | 09rmn1adfaqct |     -.02% |      2928 |     45 |     70 |   -55.56%

DBMS_SQLPA.REPORT_ANALYSIS_TASK('MY_REPLAY_TASK')
--------------------------------------------------------------------------------
 | n      |
|      1371 | cxjqbfn0d3yqq |     -.02% |       210 |    140 |    464 |  -231.43% | n      |
|      1236 | 828mzjuppndf4 |     -.02% |      2928 |    251 |    274 |    -9.16% | n      |
|      1449 | gkm8bs08b4fqu |     -.02% |      2928 |     42 |     65 |   -54.76%
| n      |
|      1080 | 32bhha21dkv0v |      .02% |       535 |    309 |    187 |    39.48% | n      |
|      1213 | 7gtztzv329wg0 |     -.02% |      1544 |     63 |    105 |   -66.67% | n      |
|      1229 | 7wt7phk4xns75 |     -.02% |       211 |    538 |    832 |   -54.65% |
 n      |
|      1464 | gx4mv66pvj3xz |     -.02% |      1991 |     56 |     86 |   -53.57% | n      |
|       997 | 0g5bcff16kw0p |     -.02% |      5856 |    141 |    151 |    -7.09% | n      |

DBMS_SQLPA.REPORT_ANALYSIS_TASK('MY_REPLAY_TASK')
--------------------------------------------------------------------------------
|      1187 | 6mvfay19q3v4n |      .02% |       136 |    983 |    578 |     41.2% |
n      |
|      1367 | cvn54b7yz0s8u |     -.02% |       983 |     45 |    100 |  -122.22% | n      |
|      1210 | 7d92gmwphtza8 |     -.02% |       132 |   1753 |   2135 |   -21.79% | n      |
|      1023 | 1a8n1zgb7m90w |      .01% |       558 |    133 |     54 |     59.4% | n
      |
|      1143 | 53saa2zkr6wc3 |     -.01% |      6891 |    110 |    116 |    -5.45% | n      |
|      1404 | f3g84j69n0tjh |      .01% |       508 |    135 |     55 |    59.26% | n      |
|      1211 | 7dwyqv9sawkyb |     -.01% |       729 |     86 |    140 |   -62.79% | n
     |
|      1402 | f0b7463xuzazk |      .01% |       275 |    233 |    104 |    55.36% | n      |

DBMS_SQLPA.REPORT_ANALYSIS_TASK('MY_REPLAY_TASK')
--------------------------------------------------------------------------------
|      1191 | 6xvp6nxs4a9n4 |      .01% |       981 |     94 |     58 |     38.3% | n      |
|      1362 | csnp95dz2r8ss |     -.01% |       981 |     49 |     83 |   -69.39% | n
    |
|      1237 | 83taa7kaw59c1 |      .01% |      3680 |    133 |    124 |     6.77% | n      |
|      1348 | c5sn73fw8w7qs |      .01% |       544 |    172 |    114 |    33.72% | n      |
|      1325 | b1wc53ddd6h3p |     -.01% |       537 |     48 |    105 |  -118.75% | n
   |
|      1417 | fhk9r0qb2n3t4 |     -.01% |      2928 |     41 |     51 |   -24.39% | n      |
|      1422 | fr31mzzknv0wh |      .01% |       162 |    245 |     68 |    72.24% | n      |
|      1356 | cca61npxvbudn |     -.01% |       275 |    143 |    241 |   -68.53% | n
  |

DBMS_SQLPA.REPORT_ANALYSIS_TASK('MY_REPLAY_TASK')
--------------------------------------------------------------------------------
|      1316 | aukfj0ur6962z |      .01% |       276 |    156 |     59 |    62.18% | n      |
|      1339 | bsa0wjtftg3uw |      .01% |       781 |     90 |     58 |    35.56% | n      |
|      1022 | 19x1189chq3xd |      .01% |       216 |    171 |     57 |    66.67% | n
 |
|      1375 | d3apnz76qwmrs |     -.01% |      2933 |     89 |     97 |    -8.99% | n      |
|      1242 | 87gaftwrm2h68 |     -.01% |       661 |     76 |    110 |   -44.74% | n      |
|      1235 | 81ky0n97v4zsg |      .01% |      5480 |   1033 |   1029 |      .39% | n
|
|      1259 | 90sssrprs2xu2 |      .01% |       275 |    130 |     54 |    58.46% | n      |
|      1017 | 14fy467qw1j7t |      .01% |       373 |    101 |     46 |    54.46% | n      |
|      1212 | 7gmpnpyyq71ux |     -.01% |       272 |    159 |    234 |   -47.17% | n      |

DBMS_SQLPA.REPORT_ANALYSIS_TASK('MY_REPLAY_TASK')
--------------------------------------------------------------------------------

|      1222 | 7nuw4xwrnuwxq |     -.01% |       535 |     53 |     91 |    -71.7% | n      |
|      1393 | dqbhc9r7gz0a5 |     -.01% |       136 |    554 |    703 |    -26.9% | n      |
|      1280 | 9k43zr1uannr6 |      .01% |       691 |    176 |    150 |    14.77% | n      |
|      1271 | 98wy11096mth0 |     -.01% |      2928 |    232 |    238 |    -2.59
% | n      |
|      1188 | 6qz82dptj0qr7 |      .01% |       511 |     83 |     51 |    38.55% | n      |
|      1055 | 22zy9092puhcu |     -.01% |        99 |   8686 |   8846 |    -1.84% | n      |
|      1141 | 52f02yu4nk0as |        0% |        91 |   5643 |   5475 |     2.98%
 | n      |
|      1323 | azbp445n3v9s1 |        0% |        71 |    139 |    350 |   -151.8% | n      |

DBMS_SQLPA.REPORT_ANALYSIS_TASK('MY_REPLAY_TASK')
--------------------------------------------------------------------------------
|      1040 | 1mjd9xp80vuqa |        0% |       250 |    108 |     49 |    54.63% | n      |
|      1327 | b6y9wkhxv1puz |        0% |      2933 |     74 |     79 |    -6.76%
| n      |
|      1419 | fp0agx1ukw7wu |        0% |      2928 |     46 |     51 |   -10.87% | n      |
--------------------------------------------------------------------------------------------


---------------------------------------------------------------------------------
------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值