![]() | |
![]() |
| | Thread Tools | Display Modes |
#11
| |||
| |||
|
|
Roughly 2000 logical index reads per execution, does not look that extreme. What is the definition of the index used on ASSET.TBL_ASSET_NET_DETAIL (SYSIBM.SQL110214080842620 ?) and what is FIRSTKEYCARD, etc for that index? /Lennart Hi Lennart, The index definition is (+MACHINE_ID) only, reverse_scans = 'Y' Here are some other fields: PCTFREE NLEAF NLEVELS FIRSTKEYCARD FIRST2KEYCARD FIRST3KEYCARD FIRST4KEYCARD FULLKEYCARD ------- -------------------- ------- -------------------- -------------------- -------------------- -------------------- -------------------- -1 432 3 75912 -1 -1 -1 75912 |
#12
| |||
| |||
|
|
with WHEN MATCHED *AND NOT ((E.MACHINE_HOSTNAME = INDATA.MACHINE_HOSTNAME AND * * * * * *E.MACHINE_IPDOMAIN = INDATA.MACHINE_IPDOMAIN AND * * * * * *E.LOGIN_NAME = INDATA.LOGIN_NAME AND * * * * * *E.LAN_GROUP_TYPE = INDATA.LAN_GROUP_TYPE AND * * * * * *E.LAN_GROUP_NAME = INDATA.LAN_GROUP_NAME AND * * * * * *E.FIRE_LOGIN_TRIGGERS = INDATA.FIRE_LOGIN_TRIGGERS)) THEN do a testrun and execute: select NUM_EXECUTIONS, ROWS_READ, POOL_DATA_L_READS, POOL_DATA_P_READS, * * * *POOL_INDEX_L_READS, POOL_INDEX_P_READS, TOTAL_EXEC_TIME, * * * *TOTAL_USR_CPU_TIME from sysibmadm.snapdyn_sql where cast(stmt_text as varchar(2000)) like 'MERGE INTO ASSET.TBL_ASSET_NET_DETAIL AS E USING (VALUES (%'; once again? |
#13
| |||
| |||
|
|
We have updated our application to use the NOT (A and B) instead of (A or B), and we will send it to production servers very soon. |
#14
| |||
| |||
|
#15
| |||
| |||
|
|
We have updated our application to use the NOT (A and B) instead of (A or B), and we will send it to production servers very soon. Hi, I have updated the application and here's the new info: NUM_EXECUTIONS * * * ROWS_READ * * * * * *POOL_DATA_L_READS POOL_DATA_P_READS * *POOL_INDEX_L_READS * POOL_INDEX_P_READS TOTAL_EXEC_TIME * * *TOTAL_USR_CPU_TIME -------------------- -------------------- -------------------- -------------------- -------------------- -------------------- -------------------- -------------------- * * * * * * * * *612 * * * * * * * * 3414 3814 * * * * * * * * *178 * * * * * * * *17019 125 * * * * * * * * * 51 * * * * * * * * * *0 Something I have noticed in the new access plan (which is similar to the previous one I posted here): Plan Details: ------------- * * * * 1) RETURN: (Return Result) * * * * * * * * Cumulative Total Cost: * * * * *102.029 * * * * * * * * Cumulative CPU Cost: * * * * * *117586 * * * * * * * * Cumulative I/O Cost: * * * * * *4.08001 * * * * * * * * Cumulative Re-Total Cost: * * * 27.0102 * * * * * * * * Cumulative Re-CPU Cost: * * * * 42551.5 * * * * * * * * Cumulative Re-I/O Cost: * * * * 1..08 * * * * * * * * Cumulative First Row Cost: * * *102..029 * * * * * * * * Estimated Bufferpool Buffers: * 4.08001 Cumulative Total Cost: 102 Cumulative CPU cost: 117586 ... Any thoughts? |
#16
| |||
| |||
|
|
We have updated our application to use the NOT (A and B) instead of (A or B), and we will send it to production servers very soon. Hi, I have updated the application and here's the new info: NUM_EXECUTIONS ROWS_READ POOL_DATA_L_READS POOL_DATA_P_READS POOL_INDEX_L_READS POOL_INDEX_P_READS TOTAL_EXEC_TIME TOTAL_USR_CPU_TIME -------------------- -------------------- -------------------- -------------------- -------------------- -------------------- -------------------- -------------------- 612 3414 3814 178 17019 125 51 0 Something I have noticed in the new access plan (which is similar to the previous one I posted here): Plan Details: ------------- 1) RETURN: (Return Result) Cumulative Total Cost: 102.029 Cumulative CPU Cost: 117586 Cumulative I/O Cost: 4.08001 Cumulative Re-Total Cost: 27.0102 Cumulative Re-CPU Cost: 42551.5 Cumulative Re-I/O Cost: 1.08 Cumulative First Row Cost: 102.029 Estimated Bufferpool Buffers: 4.08001 Cumulative Total Cost: 102 Cumulative CPU cost: 117586 ... Any thoughts? |
#17
| |||
| |||
|
|
Do you still experience that the stmt is hogging your cpu? Looking at the snapshot data we now have 6 rows_read per execution compared to 340 before. Logical data reads went from 341 to 6 and logical index reads from 2000 to 28. Also total_exec_time went from 1.54 to 0.08, so I would have guessed that the statement is more cpu friendly by now? |
#18
| |||
| |||
|
|
Do you still experience that the stmt is hogging your cpu? Looking at the snapshot data we now have 6 rows_read per execution compared to 340 before. Logical data reads went from 341 to 6 and logical index reads from 2000 to 28. Also total_exec_time went from 1.54 to 0.08, so I would have guessed that the statement is more cpu friendly by now? Hi Lennart, Not exactly. I still get CPU ~100%. I've received a reply from IBM. Just thought I'd share it with the group: |
#19
| |||
| |||
|
|
On 2011-03-02 22:46, Michel Esber wrote: Do you still experience that the stmt is hogging your cpu? Looking at the snapshot data we now have 6 rows_read per execution compared to 340 before. Logical data reads went from 341 to 6 and logical index reads from 2000 to 28. Also total_exec_time went from 1.54 to 0.08, so I would have guessed that the statement is more cpu friendly by now? Hi Lennart, Not exactly. I still get CPU ~100%. I've received a reply from IBM. Just thought I'd share it with the group: Michael, thanks for sharing the info. If you manage to solve the problem, it would be interesting to hear about it. /Lennart [...] |
![]() |
| Thread Tools | |
| Display Modes | |
| |