结果 MIMOS-USM 的卫星研究所又泡汤了:链结
若想太多的话,还真的可以有一千零一个阴谋论。;-) 得了得了,想那么多干嘛?做事去!
研究生们总在某个阶段脑筋就会有点不正常。Because all research students are insane at one time or another.
Tuesday, November 28, 2006
Sunday, November 26, 2006
我爱 PostgreSQL
我真是爱死 PostgreSQL 了。可不是要又来一场 MySQL vs PostgreSQL 激烈辩论哦。只是因为我受够了每每翻阅 MySQL documentation 时,正开心着终于找到某个 function 或什么时,赫然看到这么一行字:"This function will be available in a future release of MySQL." 真是气死老娘也。
不过哪,PostgreSQL 也得小心服侍就是了。就比如在 PostgreSQL 8.x 里的 constraint_exclusion 变数和 table inheritance partitioning 若一起使用,可以得到很好的速度,但 constraint_exclusion 在 PostgreSQL 7.x 可是没有的哦。还有还有,PostgreSQL 8.x 可以用 $$ 或 $_$ 之类的 string delimiter,PostgreSQL 7.x 可就非得用 '' 不可。害得我在那架还是 Debian Sarge Stable 的伺服器上要一个一个 function 的去改正。
最后,还发现了一件事:若一个 用 SQL 定义的 PostgreSQL function 里有用到 where condition 而这个 where condition 又用到 function argument 的话,执行的时候可有您受的:因为 Query Planner 事先 (compiling function 时)根本不知道那是什么值,因此它完全不会打算用任何 Index!!!遇到这种情况,就得用 Pl/PgSQL 来定义那个 function。代价是每回执行时都要 plan 过一次 query,但我甘愿!因为我的 function 执行时间就此从七秒降到零点七秒。呵。呵。呵。呵。呵。
不过哪,PostgreSQL 也得小心服侍就是了。就比如在 PostgreSQL 8.x 里的 constraint_exclusion 变数和 table inheritance partitioning 若一起使用,可以得到很好的速度,但 constraint_exclusion 在 PostgreSQL 7.x 可是没有的哦。还有还有,PostgreSQL 8.x 可以用 $$ 或 $_$ 之类的 string delimiter,PostgreSQL 7.x 可就非得用 '' 不可。害得我在那架还是 Debian Sarge Stable 的伺服器上要一个一个 function 的去改正。
最后,还发现了一件事:若一个 用 SQL 定义的 PostgreSQL function 里有用到 where condition 而这个 where condition 又用到 function argument 的话,执行的时候可有您受的:因为 Query Planner 事先 (compiling function 时)根本不知道那是什么值,因此它完全不会打算用任何 Index!!!遇到这种情况,就得用 Pl/PgSQL 来定义那个 function。代价是每回执行时都要 plan 过一次 query,但我甘愿!因为我的 function 执行时间就此从七秒降到零点七秒。呵。呵。呵。呵。呵。
Tuesday, November 21, 2006
我。好。累。
I wanna sleep and never wake up I wanna sleep and never wake up I wanna sleep and never wake up I wanna sleep and never wake up I wanna sleep and never wake up I wanna sleep and never wake up I wanna sleep and never wake up I wanna sleep and never wake up I wanna sleep and never wake up I wanna sleep and never wake up I wanna sleep and never wake up I wanna sleep and never wake up
Subscribe to:
Posts (Atom)