职位描述:
09.20.07
巨搞笑的广播有奖问答
今天碰到有史以来最搞笑的广播有奖问答,事情是这样的,我今天在外面上完口语课然后开车回家。上了车,开了广播,听了一会女足转播后发现中国女足还是平局就换了个台听,一转到那个台就听到一男一女两主持人开始提问了
主持人:我们今天要问的问题是“人体水份最多的器官是什么”,请听众朋友拨打电话,移动用户请拨xxxxxxxxxxx,联通用户拨xxxxxxxxxxx,现在开始倒数10秒计时,10,9,8,7,6,5,4,3,2,1,嘟嘟嘟嘟嘟嘟嘟
听众1:你好主持人。
主持人:你好,请问“人体水份最多的器官是什么”?
听众1:是胃!
主持人:(主持人有点疑惑)对不起,答案不是胃,您可以领取保底奖金50元,下面一位答对的听众将能够增加100元,答对问题能拿200。这个胃里面呢可能是存着水,但是胃本身并不是由很多水组成。这个器官呢是本身含有水最多的,请听众朋友继续拨打热线。移动用户请拨xxxxxxxxxxx,联通用户拨xxxxxxxxxxx,现在开始倒数10秒计时,10,9,8,7,6,5,4,3,2,1,嘟嘟嘟嘟嘟嘟嘟
听众2:你好主持人。
主持人:你好,请问“人体水份最多的器官是什么”?
听众2:是肺!
主持人:对不起,答案不是肺,您可以领取保底奖金50元,下面一位答对的听众将能够增加100元,答对问题能拿300元。肺里面一般不存水份,肺里面有水基本就有点危险了(有点汗)。让我们来做一些提示,刚才2位听众朋友说的都是内脏器官,实际上我们的答案是可以在外部看到的,另外呢它还是能动的,上下左右都能动的。请听众朋友继续拨打热线。移动用户请拨xxxxxxxxxxx,联通用户拨xxxxxxxxxxx,现在开始倒数10秒计时,10,9,8,7,6,5,4,3,2,1,嘟嘟嘟嘟嘟嘟嘟
听众3:你好主持人。
主持人:你好,请问“人体水份最多的器官是什么”?
听众3:是血管!
主持人:(倒,想象力真丰富,难道血管能上下左右动吗,可以直接看到吗)对不起,答案不是血管,您可以领取保底奖金50元,下面一位答对的听众将能够增加100元,答对问题能拿400元。血管里面可能是流的是血,但是血管本身呢它不是由水组成。我们说的这个器官呢是对人来说很重要的,如果人失去了这个器官呢将会失去很多感受美好事物的机会。请听众朋友继续拨打热线。移动用户请拨xxxxxxxxxxx,联通用户拨xxxxxxxxxxx,现在开始倒数10秒计时,10,9,8,7,6,5,4,3,2,1,嘟嘟嘟嘟嘟嘟嘟
听众4:你好主持人。
主持人:你好,请问“人体水份最多的器官是什么”?
听众4:是肝!
主持人:对不起,答案不是肝,您可以领取保底奖金50元,下面一位答对的听众能拿500元。这个答案显然不是肝,肝的话它会很“干”不会含很多水(主持人很有想法啊)。我们再给听众朋友一些提示,这个器官呢是直接能看到的,不是体内的器官,另外呢这个器官在头上,不在身体下方,虽然说肝,胃,肺也能动,但是它们是蠕动,那个器官是上下左右都能转动。请听众朋友继续拨打热线。移动用户请拨xxxxxxxxxxx,联通用户拨xxxxxxxxxxx,现在开始倒数10秒计时,10,9,8,7,6,5,4,3,2,1,嘟嘟嘟嘟嘟嘟嘟
听众5:你好主持人。
主持人:你好,请问“人体水份最多的器官是什么”?
听众5:是淋巴!
主持人:(救命啊)对不起,答案不是淋巴,您可以领取保底奖金50元。淋巴它不能算一个器官,它只能算是一个组织,我们要再强调一下这个器官对人来说是很重要的,但是现代人并不去重视它,很多人都会去过度使用它,特别是随着电视啊,电脑的出现,这个器官更是被过度使用,以至于人类要加一些东西在它上面帮助它工作。(这个人类加的东西貌似是眼镜)下面一位答对的听众能拿700元。请听众朋友继续拨打热线。移动用户请拨xxxxxxxxxxx,联通用户拨xxxxxxxxxxx,现在开始倒数10秒计时,10,9,8,7,6,5,4,3,2,1,嘟嘟嘟嘟嘟嘟嘟
听众6:你好主持人。
主持人:你好,请问“人体水份最多的器官是什么”(满怀期待的)?
听众6:是膀胱!
主持人:(老天啊)对不起,答案不是膀胱,您可以领取保底奖金50元。这位听众朋友可能没听前面的节目,我们刚才已经说了,这个器官在很多情况下被过度使用,随着生活节奏的加快,我们需要更注意保护它。下面一位答对的听众能拿800元。请听众朋友继续拨打热线。移动用户请拨xxxxxxxxxxx,联通用户拨xxxxxxxxxxx,现在开始倒数10秒计时,10,9,8,7,6,5,4,3,2,1,嘟嘟嘟嘟嘟嘟嘟
听众7:你好主持人。
主持人:你好,请问“人体水份最多的器官是什么”(这次总该对了吧)?
听众7:是肾!
主持人:(◎!¥##%¥##)对不起,答案不是肾,您可以领取保底奖金50元。虽然现在肾有问题的人越来越多,但是呢我们刚才提到了它是在体外可以看到的,并且在头部,而且可以上下左右转动的,通常我们形容它为心灵的窗户(再没人知道就去跳楼),如果在提示下去答案就出来了。下面一位答对的听众能拿900元。请听众朋友继续拨打热线。移动用户请拨xxxxxxxxxxx,联通用户拨xxxxxxxxxxx,现在开始倒数10秒计时,10,9,8,7,6,5,4,3,2,1,嘟嘟嘟嘟嘟嘟嘟
听众8:你好主持人。
主持人:你好,请问“人体水份最多的器官是什么”(终于快结束了)?
听众8:是大脑!
主持人:(猪脑吃多了吃傻了吧,还大脑,先去补补脑)对不起,答案不是大脑,您可以领取保底奖金50元。刚才我们提到在头部,这位听众就联系到了大脑,但是大脑并不是水份最多的器官,通常我们说一个人脑子进水了就不是什么好事了。我们通常形容这个器官”有如一汪清泉“,同时呢它还被人成为心灵的窗户。答案已经呼之欲出了。下面一位答对的听众能拿1000元。请听众朋友继续拨打热线。移动用户请拨xxxxxxxxxxx,联通用户拨xxxxxxxxxxx,现在开始倒数10秒计时,10,9,8,7,6,5,4,3,2,1,嘟嘟嘟嘟嘟嘟嘟
听众9:你好主持人。
主持人:你好,请问“人体水份最多的器官是什么”(接线员今天是不是吃错药了,接进来的都是些什么人)?
听众9:是心脏!
主持人:(我的心碎了,救命啊)对不起,答案不是心脏,您可以领取保底奖金50元,下面一位答对的听众能拿1100元。我们刚才提到了心灵的窗户,但是不是心脏本身,这个器官呢我们小时候非常注意保护,在上课前还经常会做什么操来保护它,它是心灵的窗户(再不知道就去买猪脑补补,送钱都送得这么难,什么世道啊),反映你的心情,你高兴的时候它就笑,你难受的时候它就会呜呜,你照一下镜子就能看到它。请听众朋友继续拨打热线。移动用户请拨xxxxxxxxxxx,联通用户拨xxxxxxxxxxx,现在开始倒数10秒计时,10,9,8,7,6,5,4,3,2,1,嘟嘟嘟嘟嘟嘟嘟
听众10:你好主持人。
主持人:你好,请问“人体水份最多的器官是什么”(有气无力了)?
听众10:是嘴巴!
主持人:(彻底放弃,广告来救我,我需要去吐几升血先)对不起,答案不是嘴巴,您可以领取保底奖金50元,下面一位答对的听众能拿1200元。怎么有人说嘴巴是心灵的窗户吗,这个听众可能刚照了一下镜子,一下子就看到自己的嘴巴。我们先插播广告,广告过后请听众朋友继续拨打热线。移动用户请拨xxxxxxxxxxx,联通用户拨xxxxxxxxxxx。
这时候我也到家了,已经停好车,于是关掉了这个让人歇斯底里的广播,不知道现在那2位主持人在干吗,我同情他们,国民的素质啊!
08.31.07
据说是现在的流行语
2007年流行的名言
1.流氓不可怕,就怕流氓有文化!
2.客官请自重,小女子只卖身不卖艺.
3.你不可能让所有人满意,因为不是所有的人都是人.
4.男人的谎言可骗女人一夜,女人的谎言可骗男人一生。
5.开车无难事,只怕有新人。
6.水能载舟,亦能煮粥.
2006年流行的10句名言
1.骑白马的不一定是王子,他可能是唐僧。
2.带翅膀的也不 一定是天使,他可能是鸟人。
3.站得更高,尿得更远。
4.穿别人的鞋,走自己的路,让他们找去吧。
5.我不是随便的人,我随便起来不是人
6.女人无所谓正派,正派是因为受到的引诱不够;男人无所谓忠诚,忠诚是因为背叛的筹码太低。
7.聪明的女人对付男人,而笨女人对付女人。
8.走自己的路,让别人打车去吧。
9.水至清则无鱼,人至贱则无敌。
10.大学生最低奋斗目标:农妇,山泉,有点田
出处已经无从考究,总之是出自于许多网络天才之口,转贴来自搞笑吧。
08.29.07
non-unique index branch and leaf block structure
昨天ilonng【小霸王】问我一个问题,他在看官方的performance tuning的文档时有一句话没理解
Index Range Scans
An index range scan is a common operation for accessing selective data. It can be bounded (bounded on both sides) or unbounded (on one or both sides). Data is returned in the ascending order of index columns.
Multiple rows with identical values are sorted in ascending order by rowid。
我以前也看过这段话,但是也就简单的过去了,没有细想过,所以当小霸王问为什么相同值会按照rowid排序的时候我也没给出特别明确的答复。做了以下实验,应该可以给小霸王
一个满意的答复了。
在考虑这个问题的时候我们首先要回顾的知识点是unique index和non-unique index它的构造是不一样
的。对于unique index,它的branch block里面只保存key value和leaf block的address,因为根据这
2个值就可以定位当新值插入时会选择哪个leaf block进行插入,leaf block里面的值也没必要按照rowid的顺序排列了,只需要按照key value排序就行了。但是如果是non-unique index,branch block
里面必须保存key value,leaf block的address,和rowid。在leaf block里面如果key value相同的话
要按照rowid做升序排列,我个人觉得这样做会有2个好处,一个是可以提高相同一个leaf block内相同key value能尽量关联到相同的data block。第2个好处是当插入新的相同key value时能很容易定位插入到哪个block。为了能做到这些,non-unique index必须在branch block里面放入rowid。下面来看一下实验。
首先我们需要创建一张测试表
SQL> create table test(a number);
Table created.
插入2000条数据,值为1到2000
SQL> begin
2 for i in 1..2000 loop
3 insert into test values(i);
4 end loop;
5 commit;
6 end;
7 /
PL/SQL procedure successfully completed.
再插入500条值为500的数据,这样的话这个表存在501条值为500的记录
SQL> begin
2 for i in 1..500 loop
3 insert into test values(500);
4 end loop;
5 commit;
6 end;
7 /
PL/SQL procedure successfully completed.
SQL>
创建一个non-unique index
SQL> create index ind_test on test(a);
Index created.
查看non-unique index的object_id
SQL> select object_id from dba_objects where object_name=’IND_TEST’;
OBJECT_ID
———-
54032
dump non-unique index的层级结构
SQL> ALTER SESSION SET EVENTS ‘immediate trace name TREEDUMP level 54032′;
Session altered.
—– begin tree dump
branch: 0×1000044 16777284 (0: nrow: 6, level: 1)
leaf: 0×1000045 16777285 (-1: nrow: 279 rrow: 279)
leaf: 0×100004d 16777293 (0: nrow: 275 rrow: 275)
leaf: 0×100004e 16777294 (1: nrow: 486 rrow: 486)
leaf: 0×1000046 16777286 (2: nrow: 533 rrow: 533)
leaf: 0×1000048 16777288 (3: nrow: 533 rrow: 533)
leaf: 0×1000047 16777287 (4: nrow: 394 rrow: 394)
—– end tree dump
看一下branch block的所在文件和块号,准备dump
SQL> select dbms_utility.data_block_address_file(16777284) “file”,
2 dbms_utility.data_block_address_block(16777284) “block” from dual;
file block
———- ———-
4 68
dump branch block的实际内容
SQL> alter system dump datafile 4 block 68;
System altered.
分析一下branch block,可以看到leaf block是从kdxbrlmc 16777285这个地址开始
dba: 16777294这个块与其他块有点不同,它的col1保存的就是rowid 01 00 00 3e 00 4a
,这里的col0 c2 06转换成10进制的值就是500,为什么其他leaf block的col1都被置为
TERM省略掉了呢,因为只有16777293,16777294这两个块保存了500这个重复值,所以当继续
插入500时,oracle可以根据这边的col1来定位是插入到16777293还是插入到16777294。插入
其他值并不受这个影响,所以oracle对这个地方做了优化,并不是所有non-unique branch block
都是需要记录rowid的。
kdxbrlmc 16777285=0×1000045
kdxbrsno 1
kdxbrbksz 8056
kdxbr2urrc 0
row#0[8020] dba: 16777293=0×100004d
col 0; len 3; (3): c2 03 51
col 1; TERM
row#1[8006] dba: 16777294=0×100004e
col 0; len 2; (2): c2 06
col 1; len 6; (6): 01 00 00 3e 00 4a
row#2[8047] dba: 16777286=0×1000046
col 0; len 3; (3): c2 06 2a
col 1; TERM
row#3[8038] dba: 16777288=0×1000048
col 0; len 3; (3): c2 0b 4b
col 1; TERM
row#4[8029] dba: 16777287=0×1000047
col 0; len 3; (3): c2 11 08
再来看一下具体的leaf block,看看里面是不是按rowid的顺序排列的
SQL> select dbms_utility.data_block_address_file(16777294) “file”,
2 dbms_utility.data_block_address_block(16777294) “block” from dual;
file block
———- ———-
4 78
SQL> alter system dump datafile 4 block 78;
System altered.
可以看到,相同的key value它的顺序是根据rowid的升序排列的
kdxlenxt 16777286=0×1000046
kdxleprv 16777293=0×100004d
kdxledsz 0
kdxlebksz 8032
row#0[4656] flag: —-S-, lock: 2, len=12
col 0; len 2; (2): c2 06
col 1; len 6; (6): 01 00 00 3e 00 4a
row#1[4668] flag: —-S-, lock: 2, len=12
col 0; len 2; (2): c2 06
col 1; len 6; (6): 01 00 00 3e 00 4b
row#2[4680] flag: —-S-, lock: 2, len=12
col 0; len 2; (2): c2 06
col 1; len 6; (6): 01 00 00 3e 00 4c
row#3[4692] flag: —-S-, lock: 2, len=12
col 0; len 2; (2): c2 06
col 1; len 6; (6): 01 00 00 3e 00 4d
row#4[4704] flag: —-S-, lock: 2, len=12
col 0; len 2; (2): c2 06
col 1; len 6; (6): 01 00 00 3e 00 4e
row#5[4716] flag: —-S-, lock: 2, len=12
再来看一下unique index是什么样的
SQL> drop index ind_test;
Index dropped.
SQL> truncate table test;
Table truncated.
SQL> begin
2 for i in 1..2000 loop
3 insert into test values(i);
4 end loop;
5 commit;
6 end;
7 /
PL/SQL procedure successfully completed.
SQL> create unique index ind_test on test(a);
Index created.
SQL> select object_id from dba_objects where object_name=’IND_TEST’;
OBJECT_ID
———-
54049
SQL> ALTER SESSION SET EVENTS ‘immediate trace name TREEDUMP level 54049′;
Session altered.
—– begin tree dump
branch: 0×1000044 16777284 (0: nrow: 4, level: 1)
leaf: 0×1000045 16777285 (-1: nrow: 520 rrow: 520)
leaf: 0×1000046 16777286 (0: nrow: 513 rrow: 513)
leaf: 0×1000047 16777287 (1: nrow: 513 rrow: 513)
leaf: 0×1000048 16777288 (2: nrow: 454 rrow: 454)
—– end tree dump
SQL> select dbms_utility.data_block_address_file(16777284) “file”,
2 dbms_utility.data_block_address_block(16777284) “block” from dual;
file block
———- ———-
4 68
SQL> alter system dump datafile 4 block 68;
System altered.
注意,unique index里面并没有col1这个值,也就说明unique index不保留rowid
kdxbrlmc 16777285=0×1000045
kdxbrsno 0
kdxbrbksz 8056
kdxbr2urrc 0
row#0[8048] dba: 16777286=0×1000046
col 0; len 3; (3): c2 06 16
row#1[8040] dba: 16777287=0×1000047
col 0; len 3; (3): c2 0b 23
row#2[8032] dba: 16777288=0×1000048
col 0; len 3; (3): c2 10 30
SQL> select dbms_utility.data_block_address_file(16777286) “file”,
2 dbms_utility.data_block_address_block(16777286) “block” from dual;
file block
———- ———-
4 70
SQL> alter system dump datafile 4 block 70;
System altered.
可以看到,unique index是根据key value的值做升序排列的
kdxlenxt 16777287=0×1000047
kdxleprv 16777285=0×1000045
kdxledsz 6
kdxlebksz 8032
row#0[8020] flag: ——, lock: 0, len=12, data:(6): 01 00 00 3c 02 08
col 0; len 3; (3): c2 06 16
row#1[8008] flag: ——, lock: 0, len=12, data:(6): 01 00 00 3c 02 09
col 0; len 3; (3): c2 06 17
row#2[7996] flag: ——, lock: 0, len=12, data:(6): 01 00 00 3c 02 0a
col 0; len 3; (3): c2 06 18
row#3[7984] flag: ——, lock: 0, len=12, data:(6): 01 00 00 3c 02 0b
col 0; len 3; (3): c2 06 19
row#4[7972] flag: ——, lock: 0, len=12, data:(6): 01 00 00 3c 02 0c
col 0; len 3; (3): c2 06 1a
07.15.07
红楼自助餐
又到周末了,吃饭又成了老大难问题,天热让人一点做饭烧菜的欲望都没有,平时还可以在公司噌饭,到了周末就有点头痛的。想了一下,还是出去吃自助餐。相比较去中餐馆我更喜欢去自助餐厅,那里的环境比较好,可以让人安静得吃饭,还可以不用排队等候,最重要的是你可以一直吃自己喜欢的菜知道吃饱为止,哈哈。因为上次去过红楼酒店的自助餐厅一次,感觉还不错,很安静,所以就又去了。去了那里大吃一惊,居然有那么多人,记得我上次去的时候只有四五桌客人,这次几十张桌子都差不多了,问了一下服务员,原来是在搞墨西哥美食节,有特价优惠,2位是188元,当然我是带了口碑卡过去,价格更便宜,一个人85块。找了一张桌子坐下后我就奔去海鲜区了,三文鱼啊,我的最爱,红楼的三文鱼的味道可以说是在我吃的所有的自助餐厅里面最好的,梅苑,世贸,雷迪森的都比不上,就是红楼这边的芥末稍微淡了点。生蚝非常新鲜,挤上柠檬汁,蘸点酱油,口感非常好。还有这里的明虾,梭子蟹,北极贝,小龙虾都非常新鲜,而且昨天晚上还有意外收获,热菜里面有一个叫什锦海鲜,居然放了很多大龙虾进去,结果一老头就守在那菜前,只要一上来他就把里面的龙虾夹走,估计他是吃够本了。热菜方面做的还过得去,各种风味的蔬菜,元宝虾,蒙古烧烤档,尖椒牛柳,还有一些像墨西哥鸡肉卷,一些猪牛羊排,烧烤那块有鱼,八爪鱼和各种肉类。值得一提的是它的水果,荔枝,西瓜,哈密瓜,香瓜,桃子,李子品种还是比较多的,特别是西瓜切成一条条,而且没有籽,吃起来特方便。甜点我没吃太多,不过蛋糕的款式挺多,布丁也挺诱人。最后要提一下冰淇淋,6种口味的乔尼亚的冰淇淋随便你吃,还有免费无限量供应雪碧,可乐,冰爽茶。比起雷迪森和凯悦200多元一位的价格来说,红楼真可算得上是物美价廉,喜欢吃海鲜的朋友不一定要选择雷迪森,其实红楼的海鲜还是很赞的。