m*0
1 楼
一个junior developer/dba 在做一些monthly report, 需要用到几个比较大的table,
有几个table 都有 几百M 条记录, 就算是montly 的也有 几十M 的记录。 那还没
join 其他表, join 之后就更大了。
之前他写了10多个proc来generate data, 然后他也不做任何分析, 就一起执行, 这
样执行了一天一夜, 还没完成, 就来找我, 我就挑第一个proc出来看, 然后 run
了一些 minor steps, 然后用那些 result 估计这个 proc 需要 30多天才可以完全,
这还没算其他那些 procs 的时间。 然后我就跟他说, 做这些 mass processing 最
重要的就是要做全面的估计, 要知道整个process 需要多少时间完全, 不能干等。
又跟他说, 有很多种方法拿到相同的result, 在不同情况下那些方法也有不同的
efficiency,把大的 query break 开来, 做成小 query, 然后 test, 再评估, 再
test 等等, 然后给他改了其中一个proc,
有几个table 都有 几百M 条记录, 就算是montly 的也有 几十M 的记录。 那还没
join 其他表, join 之后就更大了。
之前他写了10多个proc来generate data, 然后他也不做任何分析, 就一起执行, 这
样执行了一天一夜, 还没完成, 就来找我, 我就挑第一个proc出来看, 然后 run
了一些 minor steps, 然后用那些 result 估计这个 proc 需要 30多天才可以完全,
这还没算其他那些 procs 的时间。 然后我就跟他说, 做这些 mass processing 最
重要的就是要做全面的估计, 要知道整个process 需要多少时间完全, 不能干等。
又跟他说, 有很多种方法拿到相同的result, 在不同情况下那些方法也有不同的
efficiency,把大的 query break 开来, 做成小 query, 然后 test, 再评估, 再
test 等等, 然后给他改了其中一个proc,