|
昨天,跟别人聊天,提到了这个优化.链接:
http://www.itpub.net/viewthread. ... ;page=4#pid17733698
这个优化巧妙的把原来的nested loops执行计划转变成了HASH JOIN.
实际上这个问题就是很典型数据结构问题.
再会过头问题6. 表结构设置不合理的问题.
我记得以前跟一个程序员有过一个小小的争论,对方讲这样存日期可以节省空间.
看来程序员根本没有仔细思考过.
再拿这个例子来说明:
即使仅仅是年月日(yyyymmdd)的格式串也要占用8个字符.而日期仅仅占用8个字符.
如图:
程序中的MONITOR_VALUE="10-12-09 12:27=aa,bb,cc...."
前面的日期部分占用了(不包括=)14个字符,不知道程序为什么不考虑yyyymmddhh24mm的格式.(哈哈,开个玩笑)
做一个简单的运算:
MED_PAT_MONITOR_DATA的记录平均长度是75.
小小的改进每条记录就可以减少6个字符.按pct_free=10计算,(仅仅粗略估算)
(8192-204-819)/75*6/(75-6)=8.312
几乎每个块可以多插入8条记录.
[ 本帖最后由 lfree 于 2011-5-22 10:33 编辑 ] |
|