- 论坛徽章:
- 0
|
我们为每个存储过程估计逻辑日志的使用情况.牵涉到大量的测试和计算.以便获取针对应用程序中涉及到的每个表的每个数据库操作的逻辑日志使用情况的统计数字.我们要使用通过测试收集到的统计数字,为应用程序中的每个存储过程计算逻辑日志的使用情况.在所有数据库操作当中,插入操作要使用大部分的逻辑日志.因此我们使用插入作为我们进行估计的基准.首先,识别在存储过程中涉及到的一系列表,然后将一些行或记录插入到每个表中.接着我们使用onlog实用程序来查看由于插入操作而生成的逻辑日志记录有多少,并求每条逻辑日志记录长度的总和.
例如,为了为 NE 表估计逻辑日志的使用,在测试数据库时我们插入一行到 NE 表中,然后使用 -n 155,其中 155 是日志 id,这样我们得到以下输出:
addr len type xid id link
18 48 BEGIN 20 155 0 07/01/2003 15:34:08 737 omcadmin
2ea9248 140 HINSERT 38 0 2ea9218 20005c a0e 90
2ea92d4 88 ADDITEM 38 0 2ea9248 20005c a0e 7 1 36
2ea932c 56 ADDITEM 38 0 2ea92d4 20005c a0e 2 2 4
84 48 COMMIT 20 0 48 07/01/2003 15:34:08
上面的输出表明,将一条记录插入到 NE 表中将生成三条逻辑日志记录,该数据库操作所使用的总逻辑日志空间是 284 字节,这也是三条记录长度的总和(140 + 88 + 56)。此外,还有 96 字节的事务开销,也就是 BEGIN 和 COMMIT 记录的总和。事务开销是恒定的,每个数据库事务都要加上这一项。在这里,也就是对于存储过程的每次执行都要考虑这一项。结果,我们得出下面的表,这个表列出了将一条记录插入到 应用程序中涉及的每个表中的逻辑日志的使用:
不知道能否帮助你 |
|