﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-奇葛格的BLOG</title><link>http://www.blogjava.net/onlykeke/</link><description>红尘最可笑，我自乐逍遥</description><language>zh-cn</language><lastBuildDate>Tue, 12 May 2026 22:48:38 GMT</lastBuildDate><pubDate>Tue, 12 May 2026 22:48:38 GMT</pubDate><ttl>60</ttl><item><title>陈水扁，这次该知道民主的厉害了吧『转』</title><link>http://www.blogjava.net/onlykeke/archive/2008/08/23/223839.html</link><dc:creator>奇葛格</dc:creator><author>奇葛格</author><pubDate>Sat, 23 Aug 2008 02:51:00 GMT</pubDate><guid>http://www.blogjava.net/onlykeke/archive/2008/08/23/223839.html</guid><wfw:comment>http://www.blogjava.net/onlykeke/comments/223839.html</wfw:comment><comments>http://www.blogjava.net/onlykeke/archive/2008/08/23/223839.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/onlykeke/comments/commentRss/223839.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/onlykeke/services/trackbacks/223839.html</trackback:ping><description><![CDATA[<p style="margin: 0cm 0cm 0pt"><br />
还记得陈水扁那本&#8220;台湾之子&#8221;自传体的书出版时我第一次拿到手的情景，书里有一句话在我后来写的文章中反复出现过，那就是&#8220;一路走来&#8230;&#8230;&#8221;——陈水扁多次使用这个文学性很强的语句描述自己从一个贫困的家庭一路拼搏，考上大学、当上律师、踏上从政之路，随后位居台北市长，登上了权力的阶梯&#8230;&#8230;如果说当今陈水扁成了贪污犯，就否认他当时的奋斗之路，否认他曾经的&#8220;民主斗士&#8221;形象，也许欠妥。可是，事实是，自从陈水扁当上总统后，登上了权力的顶峰后，他那&#8220;一路走来&#8221;越走越让人胆战心惊。</p>
<br />
<p style="margin: 0cm 0cm 0pt"></p>
<br />
<p style="margin: 0cm 0cm 0pt">究其原因何在？最近看到一些网友的评论众说纷纭，都不乏一定的道理。可是我想强调的是陈水扁走到今天，最重要的因素在于他自身，说白了，就是他对民主没有好好理解，或者他不知道民主制度的厉害。</p>
<br />
<p style="margin: 0cm 0cm 0pt"></p>
<br />
<p style="margin: 0cm 0cm 0pt">这话说出来，反对者众。想一下，一个民主&#8220;国家&#8221;的&#8220;总统&#8221;，不懂得民主？难道就你杨恒均懂？其实这&#8220;国家&#8221;和&#8220;总统&#8221;还是打引号的，而且台湾实行民主也就不到十年，想一下美国，还记得尼克松在总统职位上黯然下台，让白宫总统宝座蒙羞吧？尼克松最主要的毛病就是&#8220;不懂得民主&#8221;，当时杜鲁门对尼克松的评价一针见血：&#8220;他（尼克松）读过宪法，但没有读通。&#8221;</p>
<br />
<p style="margin: 0cm 0cm 0pt"></p>
<br />
<p style="margin: 0cm 0cm 0pt">在一个民主宪政的国家，登上权力顶峰的总统&#8220;没有读通&#8221;宪法，可见说陈水扁不懂得民主，不知道民主的厉害，一点也不为奇了。</p>
<br />
<p style="margin: 0cm 0cm 0pt"></p>
<br />
<p style="margin: 0cm 0cm 0pt">按说，陈水扁对民主的厉害是知道很清楚的，是什么让他一个穷小子&#8220;一路走来&#8221;最终打败了大陆政权牺牲了无数先烈才赶到台湾的国民党政权？是民主！陈水扁的民进党正是顺应历史潮流，使用民主这个&#8220;致命武器&#8221;不费一枪一卒把百年老店国民党赶下了台。</p>
<br />
<p style="margin: 0cm 0cm 0pt"></p>
<br />
<p style="margin: 0cm 0cm 0pt">可问题就在于他一旦夺取政权后，就忘记了民主的本质，就把民主当成了登上权力的踏脚石弃之不顾，甚至玩弄于鼓掌。他忘记了民主是个不归路，民主的本质是&#8220;人民做主&#8221;，民主制度也许有很多缺陷，但却有一个好处：从长远来讲，是人民做主，任何人、政党和团体都不可能贪赃枉法、草菅人命而可以全身而退，可以永无后顾之忧。</p>
<br />
<p style="margin: 0cm 0cm 0pt"></p>
<br />
<p style="margin: 0cm 0cm 0pt">民主制度看起来漏洞百出，但实则是世界上最严厉和残酷的制度。在宪法和法律面前，任何利益集团都不可能长期胡作非为。我在国内常常被一些年轻的朋友质疑，他们说，你难道真相信美国的政府没有贪污腐败？我说，世界上再好的制度都不可能阻止贪污腐败，就像任何制度都不可能限制一个罪犯去杀人一样。可是，民主制度下的权力制衡、舆论监督、公民的知情权等等，让任何一个想作奸犯科或者偷鸡摸狗的公众人物都不得不三思而后行。</p>
<br />
<p style="margin: 0cm 0cm 0pt"></p>
<br />
<p style="margin: 0cm 0cm 0pt">尼克松的例子太残酷，那就还拿克林顿的例子。克林顿属于耍小聪明的人，他闹出那么多事，其实都不危及他的总统地位，唯一危及总统地位的竟然是他那句谎话&#8220;我没有和那个女人做爱&#8221;。他差一点为这一句每一个偷吃的男人都会顺口说出的谎言丢掉了总统宝座。同样的道理，美国的政府官员和掌握权力的人，如果给他们机会，说你贪污后永远不会被发现，我可以向大家保证，他们那里的贪官污吏绝对比中国大陆多好几倍，贪污的数额更大（人家的钱更多）。可是，美国的民主制度一再残忍地告诉所有掌握权力的人：只要你做了坏事，千万别指望任何人给你保密（揭露任何恶行的人都会被保护，甚至会成为英雄），你迟早会付出代价，到时人民不会放过你的。</p>
<br />
<p style="margin: 0cm 0cm 0pt"></p>
<br />
<p style="margin: 0cm 0cm 0pt">我早就说过，台湾过去十年政治舞台上使用民主最熟练的是陈水扁，但对民主最没有经验和知识的也是他陈水扁。陈水扁是当今台湾政坛中少有的几个土包子，不但没有到欧美留过学，而且他的所学也几乎没有多少美国的民主知识。可台湾的政治架构就是从美国ＣＯＰＹ过去的。如果陈水扁象李登辉和马英九一样懂得美国民主制度的运作，也看到了美国总统克林顿那狼狈的样子，他还会在台湾这个弹丸之地的权力宝座上忘乎所以、唯我独尊？</p>
<br />
<p style="margin: 0cm 0cm 0pt"></p>
<br />
<p style="margin: 0cm 0cm 0pt">陈水扁是&#8220;民主斗士&#8221;，而当他通过民主获得权力后，他恰恰不具备民主领袖的最基本素质：宽大的胸怀、远大的目光和谦卑的态度等。他上台后，始终像在竞选时一样用一个一个口号来忽悠台湾老百姓，如果说前四年还可以谅解（为了连任），那么后四年就让人没法忍受了，我也是到他第二任才发现此人原来仍然是<font style="font-weight: bold">&#8220;民主斗士&#8221;——他在和自己曾经为之奋斗的民主做斗争。</font><font style="font-weight: bold"></font></p>
<br />
<p style="margin: 0cm 0cm 0pt"><font style="font-weight: bold"></font></p>
<br />
<p style="margin: 0cm 0cm 0pt">陈水扁让百年老牌子的国民党知道了民主的厉害，登上权力顶峰，自己却忘记了民主的厉害！如果他稍微有一些民主知识，就应该知道，这个世界上所有转型成功的民主国家——东南亚诸国、韩国等等，前几任总统几乎都不能善终。而他们无法善终的原因都是忘记了民主是把双刃剑——你可以用这把剑刺伤政敌，夺取政权，政敌也可以用这把剑伤害你。可是——</p>
<br />
<p style="margin: 0cm 0cm 0pt"></p>
<br />
<p style="margin: 0cm 0cm 0pt"><font style="font-weight: bold">这把剑归根结底不掌握在你或者你政敌的任何一方的手里——这把剑始终是像它名字昭示的一样：掌握在民众手里，由人民做主。</font></p>
<br />
<p style="margin: 0cm 0cm 0pt"></p>
<br />
<p style="margin: 0cm 0cm 0pt">这也是民主制度的犀利之处。民主制度以其权力来源（民选）和权力制衡以及权力监督（例如媒体等）等把真正的权力交到了普通大众手里，很多时候，我们虽然看到西方一些政治人物人模狗样地在那里表演，但他们其实都是民众手里的牵线公仔。如果陈水扁懂得这个道理，他不但会避免重蹈南韩和东南亚一些国家的覆辙，而且他应该想清楚：你贪污的那些钱准备怎么用？难道你不知道作为一个民选的&#8220;总统&#8221;，至少到你的子孙辈，他们无论身在何处，台湾的媒体一定不会放过他们的任何一点钱财来源？看一下美国和欧洲的总统的孩子，有几个能够花费超出他们经济能力负担之外的钱财而不被公众质疑和追问的？</p>
<br />
<p style="margin: 0cm 0cm 0pt"></p>
<br />
<p style="margin: 0cm 0cm 0pt">陈水扁的可悲之处在于他亲自奋斗，促成了台湾民主制度的形成，而这个民主制度是不可能让那些贪污腐败份子——哪怕是你贵为&#8220;总统&#8221;长期逍遥法外的。</p>
<br />
<p style="margin: 0cm 0cm 0pt"></p>
<br />
<p style="margin: 0cm 0cm 0pt">有些网友的评论让我非常吃惊，他们竟然说陈水扁的贪污腐败让台湾的民主制度蒙羞，台湾的民主制度有严重缺陷。其实大家应该搞清楚，陈水扁无论是洗钱还是接受贿赂，都是犯罪行为，而任何一个制度下，无论是民主制度还是集权专制独裁制度，不管你的法律如何完善，不管你是什么职位，你都可能犯罪。例如受贿罪，美国总统比世界上任何一个人都有机会接受贿赂，而且非常巨大。这和制度没有关系。<font style="font-weight: bold">但一个掌握权力的人犯了罪，是否能够被揪出来，是否能够被依法办理，是否能够被媒体报道和一追到底，是否可以让真相大白于天下，那就绝对和制度有关了！</font></p>
<br />
<p style="margin: 0cm 0cm 0pt"></p>
<br />
<p style="margin: 0cm 0cm 0pt">世界几千年的历史无可辩驳地证明：只有民主制度下，只有人民真正当家作主的制度才能够制约、威慑和彻底揭露贪腐分子。从这个意义上说，陈水扁家族贪污被揭露出来，难道不正说明台湾的民主制度优越无比？</p>
<br />
<p style="margin: 0cm 0cm 0pt"></p>
<br />
<p style="margin: 0cm 0cm 0pt">不要横向比较了，就来个纵向比较吧。台湾国民党执政期间，不要说权力顶峰的人，就是各级官吏包括将军们，总共贪污了台湾人民多少民脂民膏？可是，除了权力斗争造成的偶尔官员落马外，有几个贪污腐败的分子落网？我想说到这里，台湾人都心知肚明了。你们想要一个不成熟的民主制度，还是要一个中国实行了两千年，成熟得有些腐烂的专制制度？你们要一个能够把&#8220;总统&#8221;绳之于法的民主制度，还是想回到蒋介石那个一党专政，腐败盛行的时代？</p>
<br />
<p style="margin: 0cm 0cm 0pt"></p>
<br />
<p style="margin: 0cm 0cm 0pt">说到这里，我不禁有些犹豫，难道民主制度在成长之初都要经历最初几任总统落马的阵痛？难道这是民主制度必经的道路？如果是这样，那么我想，全世界的人都愿意接受这样的现实：<font style="font-weight: bold">以总统的鲜血来铺垫民主之路，而不是以民众的鲜血来祭奠独裁者的绝对权力！</font></p>
<br />
<p style="margin: 0cm 0cm 0pt"></p>
<br />
<p style="margin: 0cm 0cm 0pt">写到这里，我还想罗嗦几句，算是给马英九的几句忠言，你虽然很熟悉美国的民主，但你的团队好像没有很好地研究白宫的故事。知道你为什么上台后民调下滑如此之快吗？如果有时间你可以去参考一下福特总统的故事，他是美国历史上道德水平最高为人也最善良的总统之一，但他接替尼克松后只干了两年，就永远告别了白宫。</p>
<br />
<p style="margin: 0cm 0cm 0pt"></p>
<br />
<p style="margin: 0cm 0cm 0pt">知道为什么吗？因为他心太软，他突然宣布赦免了尼克松，也原谅了尼克松，然而，美国人民永远没有原谅他。</p>
<br />
<p style="margin: 0cm 0cm 0pt"></p>
<br />
<p style="margin: 0cm 0cm 0pt">所以，你千万不要顾影自怜，不要一念之差放过陈水扁家族，放弃一个<font style="font-weight: bold">提升</font>台湾民主的机会。你一方面可以让陈水扁、你自己和那些今后会登上权力顶峰的人知道民主的厉害之处，另外一方面也让台湾民众进一步认识到：民主是用来保护他们，限制执政党和&#8220;总统&#8221;的权力，阻止那些掌握大权的人贪污腐败的最有力的武器！</p>
<br />
<p style="margin: 0cm 0cm 0pt"></p>
<br />
<p style="margin: 0cm 0cm 0pt">杨恒均 2008-8-22 广州</p>
<img src ="http://www.blogjava.net/onlykeke/aggbug/223839.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/onlykeke/" target="_blank">奇葛格</a> 2008-08-23 10:51 <a href="http://www.blogjava.net/onlykeke/archive/2008/08/23/223839.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>apache，tomcat配置</title><link>http://www.blogjava.net/onlykeke/archive/2008/08/03/219736.html</link><dc:creator>奇葛格</dc:creator><author>奇葛格</author><pubDate>Sun, 03 Aug 2008 11:34:00 GMT</pubDate><guid>http://www.blogjava.net/onlykeke/archive/2008/08/03/219736.html</guid><wfw:comment>http://www.blogjava.net/onlykeke/comments/219736.html</wfw:comment><comments>http://www.blogjava.net/onlykeke/archive/2008/08/03/219736.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/onlykeke/comments/commentRss/219736.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/onlykeke/services/trackbacks/219736.html</trackback:ping><description><![CDATA[<h1 class="subject"><strong><strong><a href="http://weijie.blog.51cto.com/340746/68195">Apache负载均衡+Tomcat集群</a>  </strong></strong></h1>
 <img src ="http://www.blogjava.net/onlykeke/aggbug/219736.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/onlykeke/" target="_blank">奇葛格</a> 2008-08-03 19:34 <a href="http://www.blogjava.net/onlykeke/archive/2008/08/03/219736.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>不够严谨的php windows安装程序</title><link>http://www.blogjava.net/onlykeke/archive/2008/07/30/218841.html</link><dc:creator>奇葛格</dc:creator><author>奇葛格</author><pubDate>Wed, 30 Jul 2008 13:19:00 GMT</pubDate><guid>http://www.blogjava.net/onlykeke/archive/2008/07/30/218841.html</guid><wfw:comment>http://www.blogjava.net/onlykeke/comments/218841.html</wfw:comment><comments>http://www.blogjava.net/onlykeke/archive/2008/07/30/218841.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/onlykeke/comments/commentRss/218841.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/onlykeke/services/trackbacks/218841.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;因为要研究一下几个开源的CMS系统，要在XP系统上安装php5.2.6+apache2.2。php的msi安装包，基本上是选择2.2 model后，完全安装。可是一个简单的phpinfo（）的测试页面却无法运行，apache频频死翘。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;真的让我大跌眼镜，经过apache的错误日志的查看，应该是一些额外的dll模块有问题啦，结合<a href="http://group.qqread.com/redirect.php?fid=99&amp;tid=16275&amp;goto=nextnewset">这篇文章</a>，几经手工努力未果，断定必须要重新安装，仅仅选择mysql模块，终于运行成功。第二次安装的时候，也注意到了旁白，别人也的确是提醒了推荐安装仅仅必须的少许模块，没办法，毕竟是windows系统，没有linux的开放，要是需要使用大量的第三方模块，这种服务当然是应该部署在linux系列上啦。 </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;补充：最好把multi-byte string,GD,邮件等模块也选上。</p>
<img src ="http://www.blogjava.net/onlykeke/aggbug/218841.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/onlykeke/" target="_blank">奇葛格</a> 2008-07-30 21:19 <a href="http://www.blogjava.net/onlykeke/archive/2008/07/30/218841.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>回顾联通短信SGIP网关平台设计</title><link>http://www.blogjava.net/onlykeke/archive/2008/07/28/218155.html</link><dc:creator>奇葛格</dc:creator><author>奇葛格</author><pubDate>Mon, 28 Jul 2008 11:22:00 GMT</pubDate><guid>http://www.blogjava.net/onlykeke/archive/2008/07/28/218155.html</guid><wfw:comment>http://www.blogjava.net/onlykeke/comments/218155.html</wfw:comment><comments>http://www.blogjava.net/onlykeke/archive/2008/07/28/218155.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/onlykeke/comments/commentRss/218155.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/onlykeke/services/trackbacks/218155.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 短信网关平台设计&nbsp;&nbsp;<a href='http://www.blogjava.net/onlykeke/archive/2008/07/28/218155.html'>阅读全文</a><img src ="http://www.blogjava.net/onlykeke/aggbug/218155.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/onlykeke/" target="_blank">奇葛格</a> 2008-07-28 19:22 <a href="http://www.blogjava.net/onlykeke/archive/2008/07/28/218155.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>唐僧在如来面前吐真言[转]</title><link>http://www.blogjava.net/onlykeke/archive/2007/04/06/108874.html</link><dc:creator>奇葛格</dc:creator><author>奇葛格</author><pubDate>Fri, 06 Apr 2007 02:59:00 GMT</pubDate><guid>http://www.blogjava.net/onlykeke/archive/2007/04/06/108874.html</guid><wfw:comment>http://www.blogjava.net/onlykeke/comments/108874.html</wfw:comment><comments>http://www.blogjava.net/onlykeke/archive/2007/04/06/108874.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/onlykeke/comments/commentRss/108874.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/onlykeke/services/trackbacks/108874.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 唐僧西天取得真经100&nbsp;年之后的一天，唐僧到如来家里做客。如来为了检验他这100年来修炼程度，席间谈话如下：&nbsp;&nbsp;&nbsp;&nbsp; <br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;众所周知，你当年的成功，离不开你的三个得力徒弟，悟&nbsp;空，八戒，沙僧。那么你本人最喜欢哪个徒弟呢？唐僧给的答案多少有些出乎如来的意料，那就是：八戒。&nbsp;"八戒最大的优点就是可爱。"唐僧满面笑容的说道，"有他&nbsp;就少不了笑声。有很多人误以为他懒惰，其实他并不懒惰。每次他打扫马厩或者收拾&nbsp;包裹，都是一丝不苟，挑不出什么错儿来。但是他很小气，总是要暗地比较，自己比&nbsp;别人多干了多少，他吃不得一点亏。而且他又喜欢睡懒觉，所以大家才会以为他很懒。"&nbsp;&nbsp;"作为一个领导者，必须要知人善用。手下队伍要精简，属&nbsp;下个人能力要强。"唐僧如是说。"那么八戒的个人能力是你三个徒弟里面最差的，又&nbsp;有不负责任等对工作不利的缺点。你为什么不换一个精明能干的人选呢？"如来佛不解&nbsp;的问。"的确，八戒在队伍里面确实是个人素质最差的一个。但是，并不是由最好的人&nbsp;员组合起来的队伍就可以最大限度的发挥队伍的整体功效。一个强大的完整的队&nbsp;伍，成员必须要有不同的特点和分工。你仔细观察一下就会发现，通风报信的往往是&nbsp;八戒。而打不过就跑这个特点也只有八戒有。我记得以前有个将军，他就是要用怕死&nbsp;的兵放峭。别人不解。他说假如用勇猛的士兵放悄站岗，遇到敌人一定会战死，而胆&nbsp;怯的士兵则会跑回营中报信。这就是说明人员搭配问题的很好的一个例子。"唐僧神采&nbsp;奕奕的说。&nbsp;"而且，八戒这个人脸皮很厚，不怕指责。一件事情作不&nbsp;好，大家都可以把责任推到他头上。这样就节省了内部处理问题的时间。而由于他的&nbsp;存在，其余的人员自然而然就会对自己有一种信心，因为他的能力一定是比八戒强&nbsp;的。"&nbsp;&nbsp;&nbsp; <br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"对于我个人来讲，"唐僧点起一支烟，兴致勃勃的说，"我之所以喜欢他，是因为他比较喜欢溜须拍马。一个领导者，不可避免的就会对一个总&nbsp;是夸赞他的手下产生好感甚至依赖感。你看几乎每个领导者身边都会有八戒这样的人&nbsp;物存在。因为你不能要求领导者在一个至高无上的地位上，还要放低身份和自尊，去&nbsp;听取下属的批评和接受下属的顶撞。你必须要有一个会说好话的人在身边，否则你早就被气死了。"&nbsp;唐僧的话把如来逗笑了。&nbsp;&nbsp;&nbsp; <br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如来问到：你觉的悟空这个徒弟怎么样？一路上他多次救&nbsp;你性命！是呀，上次我西天取经还有一个主角人物，他就是齐天大圣孙悟空。而他由于紧箍咒问题的存在，和我的关系非常微妙，就如同台湾问题对&nbsp;中美关系的影响一样。"其实我们之间最终是敌人的关系。"唐僧缓缓的说。"每次危难时刻，他都能出来救我，很多次我都非常感动。但是只要一风平浪静，我就会恢复对他的敌视态度。"唐僧说，"因为我是一个忌妒心很强的人。每个希望自己建功立业的男人都有忌妒心。"&nbsp;&nbsp; <br>&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如来站起来给唐僧沏了杯茶，唐僧呷了一口继续说到：西游记不是无道，"唐僧说，"我必须作男一号。别人不可能和我抢戏分，比风头。因&nbsp;为我是整个组织的领导者，也是这次西天取经的唯一执行者，他们都是我的助手，助手的功劳怎么能大过执行者的功劳呢？可是悟空没有重视自己的身份，总是擅自行事，关键的时候英雄当头。我知道他的人气和知名度高过我，实际上这是不正常的现象。毕竟经是我拿回来的。&#8221;&nbsp;"那么你们在个性上和感情上有什么冲突呢？"如来问。"首先我先说我们的共同点，其一，我们都是很执着的人，其二，我们都是禁欲者。在这两点上我们可以相互激励对方。但是，孙悟空其实是一个无知的农村土猴。他的文化素质是很差的，而且脾气太倔强，因为没有受过良好家庭教育的关系。作为一个被领导者，过于倔强的性格一定会跟领导者有矛盾。一山不容二虎，当一件事情，我们有了分歧，那么到底该听谁的呢？当然是听领导者的。因为领导者是一个指挥者，他负的是全局成败的责任。不管是他指挥失当，还是用人失当，只要最后结果是失败的，他就要全部负责。象中国足球队的教练输球了怪队员就是一种低素质指挥者的表现，因为队员是他选拔和训练的。坦白的讲，我是一个完美的指挥者，最后取经成功的结果说明了一切。而如果指挥者下了命令手下不听从，那么最后就是要手下负责。作为一个真正意义上的属下，即使领导者让他跳崖他也一定要执行，只要彻底执行了他就没有责任。而悟空就不懂这个常识，所以我说他是乡村土猴子。说实话他的处事方法真的让人讨厌，很多次我都想让他卷铺盖回家。"&nbsp;&nbsp; <br>&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;唐僧自信深沉的谈吐让如来欣慰的笑了笑。"你们矛盾爆发程度最激烈的一次是不是白骨精事件的那次？"如来继续问道。唐僧孩嗽了几声，"唉。那是我最丢脸的事情了。"唐僧吐了个烟圈，"那次我是直接的输给了他。至今我都耿耿于怀。人都是有感情的，虽然是敌对情况严重了点，毕竟我们还是同志，是战友，是上下级。相处久了一定是有感情的。那次我让他走，实在是因为他让我太生气了。看他一次次给我下跪认错，我忍不住心软。但是我告诉自己，这是赶走他最好的时机，如果这次他走了，他永远都是个农村土猴。而我自己会独享取经归来的光环。所以我咬牙赶他走了。后来发现不能没有他。你看哪一个君王不是等稳定之后才除掉自己眼中钉的。所以我想请他回来，等取经成功以后向如来揭发他的一些丑行斗倒他也不迟。请他回来的时候我有多丢面子，好在大家都是自己人，家丑不可怕。"&nbsp;&nbsp;&nbsp; <br><br>&nbsp;&nbsp;&nbsp;&nbsp;"那个紧箍咒问题你怎么看？"如来问。"这个问题是我们师徒关系中的核心问题。我总是会在恰当的时机让他见识我的厉害。看他痛苦的样子其&nbsp;实我很有满足感，但是我还装出很心痛的样子。而且一一一，正是因为有紧箍咒的存在，我认为他一定把我当仇人看。等到了取经成功以后会找我报复，遗憾的是他没有&nbsp;抓住那个机会，因为他的谋略比我差很远。反而是我向你推荐他作佛。作佛了就不能&nbsp;好打不平了。他的性格我清楚，他忍不住火气的。所以他常常被你教训。"这你也清楚的。最后，唐僧说了这样的话："英雄从来都是被利用的。他是个英雄，可是我却是个赢家。"&nbsp; <br>
<img src ="http://www.blogjava.net/onlykeke/aggbug/108874.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/onlykeke/" target="_blank">奇葛格</a> 2007-04-06 10:59 <a href="http://www.blogjava.net/onlykeke/archive/2007/04/06/108874.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>真爱无敌[转]</title><link>http://www.blogjava.net/onlykeke/archive/2007/01/09/92497.html</link><dc:creator>奇葛格</dc:creator><author>奇葛格</author><pubDate>Mon, 08 Jan 2007 16:54:00 GMT</pubDate><guid>http://www.blogjava.net/onlykeke/archive/2007/01/09/92497.html</guid><wfw:comment>http://www.blogjava.net/onlykeke/comments/92497.html</wfw:comment><comments>http://www.blogjava.net/onlykeke/archive/2007/01/09/92497.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/onlykeke/comments/commentRss/92497.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/onlykeke/services/trackbacks/92497.html</trackback:ping><description><![CDATA[
		<span id="span_Body">酒店，烛光晚餐。<br />桌两边，坐了男人和女人。<br />“我喜欢你。”女人一边摆弄手里的酒杯，一边淡淡地说。<br />“我有老婆。”男人摸着自己手上的戒指说。<br />“我不在乎，我只想知道你的感觉。你，喜欢我吗？”<br />意料之中的答案。男人抬起头，仔细打量着对面的女人。<br />24岁，年轻，有朝气，相当不错的年纪，白皙的皮肤，充满活力的身体，一双明亮的、会说话的眼睛。真是不错的女人啊，可惜••••••<br />“如果你也喜欢我，我愿意做你的情人。”女人终于等不下去，追加了一句。<br />“我爱我的妻子。”男人坚定的回答。<br />“你爱她？你爱她什么？现在她应该已经年老色衰，见不得人了吧。否则，公司的晚宴，怎么从来也不见你带她来••••••”女人还想说，可接触到男人冷冷的目光后，她打消了这个念头。<br />静••••••<br />“你喜欢我什么呢？”男人开口了。<br />“成熟、稳重，动作举止很有男人味，懂得关心人，很多很多。反正，和我之前见过的人不同，你很特别。”<br />“你知道三年前的我是什么样子？”男人点了一支烟。<br />“不知道，我不在乎。”<br />“三年前，我就是你现在眼里的那些普通男人。普通大学毕业，工作不顺心，整天喝酒发脾气，对女孩子爱理不理。”<br />“那怎么••••••”女人有了兴趣，想知道是什么让男人转变的。“因为她？”<br />“嗯。”“她那个人，好像总能很容易就看到事情的内在。她教我很多东西，让我别太计较得失；别太在乎眼前的事；让我尽量待人和善。那时的我在她面前，就像少不更事的孩子。那时真的很奇怪，倔脾气懂得我，只是很听她的话，按照她的话，按照她说的，努力工作。那年年底，工作上稍微有了起色，我们就结婚了。”<br />男人弹了弹烟灰，继续说着：“那时，真是苦日子。两个人，一张床，家里的家具，也少得可怜。结婚一年，我才给她买了第一个结婚戒指，存了大半年的钱呢。当然，是背着她存的。若她知道了，是肯定不让的。那阵子，烟酒弄的身体不好，大冬天的，她每天晚上睡前还要给我熬汤喝。那味道真好呀！”<br />男人沉醉在回忆里，忘记了时间，只是不停地讲述着往事。而女人，也丝毫没有打扰的意思，就静静地听着。<br />等男人注意到时间，已经晚上10点了。<br />“啊，对不起，没注意时间，已经这么晚了。”男人歉意地笑了笑，说“现在，你可以理解吗？我不可能，也不会做对不起她的事情。”<br />“啊，知道了。输给这样的女人，心服口服喽。”女人无奈地摇了摇头，“不过，我到了她的年纪会更棒的。”<br />“嗯。那就可以找到更好的男人，不是吗？”<br />“很晚了，家里的汤要凉了，我送你回去。”男人站起身，想送女人。<br />“不了，我自己回去就可以了。”女人摆了摆手，“回去吧，别让她等急了。”<br />男人会心地笑了笑，转身要走。<br />“她漂亮吗？”<br />“嗯••••••很美。”<br />男人的身影消失在夜色中，留下女人，对着蜡烛，发呆。<br />男人回到家，推开门，径直走进卧室，打开了台灯。沿着床边坐了下来，“老婆，已经第四个了。干吗让我变得这么好？好多人喜欢我呀！搞不好，我会变心呀！干吗把我变得这么好，自己却先走了？我，我一个人，好孤单呀！”<br />男人哽咽地说着，终于泣不成声。眼泪，一滴滴从脸颊流下，打在手心里的相框上。昏暗的灯光中、旧照片里，弥漫着的，是已逝女子淡淡的温柔。</span>
<img src ="http://www.blogjava.net/onlykeke/aggbug/92497.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/onlykeke/" target="_blank">奇葛格</a> 2007-01-09 00:54 <a href="http://www.blogjava.net/onlykeke/archive/2007/01/09/92497.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>vc2005编译安装boost1.33.1.regex</title><link>http://www.blogjava.net/onlykeke/archive/2006/12/18/88404.html</link><dc:creator>奇葛格</dc:creator><author>奇葛格</author><pubDate>Sun, 17 Dec 2006 16:52:00 GMT</pubDate><guid>http://www.blogjava.net/onlykeke/archive/2006/12/18/88404.html</guid><wfw:comment>http://www.blogjava.net/onlykeke/comments/88404.html</wfw:comment><comments>http://www.blogjava.net/onlykeke/archive/2006/12/18/88404.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/onlykeke/comments/commentRss/88404.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/onlykeke/services/trackbacks/88404.html</trackback:ping><description><![CDATA[1.cd C:\boost_1_33_1\tools\build\jam_src<br />Build.bat文件中修改路径为实际安装的路径。示例如下：<br />if EXIST "D:\Program Files\Microsoft Visual Studio 8\VC\bin\VCVARS32.BAT" (<br />    set BOOST_JAM_TOOLSET=vc7<br />    set BOOST_JAM_TOOLSET_ROOT=D:\Program Files\Microsoft Visual Studio 8\VC\<br />    goto :eof)<br />2.命令行模式下执行build.bat.将生成bin.ntx86目录，生成bjam.exe。<br />3.将C:\boost_1_33_1\libs\regex\src\regex_traits_defaults.cpp中的注释：/*？/删除。<br />4.执行vs studio 2005 命令提示。<br />5.命令行模式：bjam "-sVC80_ROOT=D:\Program Files\Microsoft Visual Studio 8\VC" "-sTOOLS=vc-8_0" --with-regex install<img src ="http://www.blogjava.net/onlykeke/aggbug/88404.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/onlykeke/" target="_blank">奇葛格</a> 2006-12-18 00:52 <a href="http://www.blogjava.net/onlykeke/archive/2006/12/18/88404.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Wicket Notes [随时更新]</title><link>http://www.blogjava.net/onlykeke/archive/2006/12/14/87751.html</link><dc:creator>奇葛格</dc:creator><author>奇葛格</author><pubDate>Thu, 14 Dec 2006 09:04:00 GMT</pubDate><guid>http://www.blogjava.net/onlykeke/archive/2006/12/14/87751.html</guid><wfw:comment>http://www.blogjava.net/onlykeke/comments/87751.html</wfw:comment><comments>http://www.blogjava.net/onlykeke/archive/2006/12/14/87751.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/onlykeke/comments/commentRss/87751.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/onlykeke/services/trackbacks/87751.html</trackback:ping><description><![CDATA[wicket初学者可以参考一下&nbsp;<a href="http://space.baidu.com/leijiatx/blog/item/4979a47bdf6036f10bd1873f.html">这里</a> 的一篇文章。<br />
<br />
1.CheckGroup 中 使用Check.而非CheckBox.<br />
<br />
2.Form中的组件，纳入CompoundPropertyModel，似乎方可得到rawinput。有待确认。<br />
<br />
3.Form如果不使用CompoundPropertyModel，注意给控件设置model。<br />
<br />
4.dropdownchoice,未选择情况下提交，即选中了&#8220;请选择&#8221;。服务器端得到：<br />
&nbsp;&nbsp;&nbsp;getValue():-1<br />
&nbsp;&nbsp;&nbsp;getInput():<br />
&nbsp;&nbsp;&nbsp;getModelObjectAsString():<br />
<br />
5.一个model示例：<br />
int cols=5;<br />
int rows=5;<br />
<br />
final String[][] values=new String[rows][cols];<br />
<br />
form.add(new Loop("rows", rows) {<br />
&nbsp;&nbsp; populateitem(Item item) {<br />
&nbsp;&nbsp;&nbsp;&nbsp; final int row=item.getindex();<br />
&nbsp;&nbsp;&nbsp;&nbsp; item.add(new Loop("cols", cols) { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; populateitem(Item item) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; final int col=item.getindex();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IModel model=new Model() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; setobject(Component c, Object o) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; values[row][col]=o; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Object getObject(Component c) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return values[row][col];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }};<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; item.add(new TextField("cell", model)); <br />
<br />
&nbsp;&nbsp; });<br />
<br />
&lt;table&gt;<br />
&lt;tr wicket:id="rows"&gt;&lt;td wicket:id="cols"&gt;&lt;input type="text" wicket:id="cell"/&gt;&lt;/td&gt;&lt;/tr&gt;<br />
&lt;/table&gt;<br />
<img src ="http://www.blogjava.net/onlykeke/aggbug/87751.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/onlykeke/" target="_blank">奇葛格</a> 2006-12-14 17:04 <a href="http://www.blogjava.net/onlykeke/archive/2006/12/14/87751.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>曲高和寡的ThunderBird1.5</title><link>http://www.blogjava.net/onlykeke/archive/2006/12/12/87282.html</link><dc:creator>奇葛格</dc:creator><author>奇葛格</author><pubDate>Tue, 12 Dec 2006 08:03:00 GMT</pubDate><guid>http://www.blogjava.net/onlykeke/archive/2006/12/12/87282.html</guid><wfw:comment>http://www.blogjava.net/onlykeke/comments/87282.html</wfw:comment><comments>http://www.blogjava.net/onlykeke/archive/2006/12/12/87282.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/onlykeke/comments/commentRss/87282.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/onlykeke/services/trackbacks/87282.html</trackback:ping><description><![CDATA[ThunderBird1.5 附件编码遵循最新的<a href="http://rfc.net/rfc2231.html">RFC2231</a>标准。这个标准太新了，以至于目前流行的客户端基本都不支持，甚至mail服务器也不一定支持。为了回归平庸，只能更改配置了： <br />配置编辑器中: <br />mail.strictly_mime.parm_folding  默认值2改为0 。<br /><br />另。文本附件在邮件正文打开的问题：<br />mail.inline_attachments   改成false<br />mail.content_disposition.type   改成1<br /><br /><br />引：<a href="http://windtear.net/archives/2006/08/11/001051.html">http://windtear.net/archives/2006/08/11/001051.html</a><img src ="http://www.blogjava.net/onlykeke/aggbug/87282.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/onlykeke/" target="_blank">奇葛格</a> 2006-12-12 16:03 <a href="http://www.blogjava.net/onlykeke/archive/2006/12/12/87282.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Speed up random selecting in MySql[转]</title><link>http://www.blogjava.net/onlykeke/archive/2006/12/08/86370.html</link><dc:creator>奇葛格</dc:creator><author>奇葛格</author><pubDate>Fri, 08 Dec 2006 07:43:00 GMT</pubDate><guid>http://www.blogjava.net/onlykeke/archive/2006/12/08/86370.html</guid><wfw:comment>http://www.blogjava.net/onlykeke/comments/86370.html</wfw:comment><comments>http://www.blogjava.net/onlykeke/archive/2006/12/08/86370.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/onlykeke/comments/commentRss/86370.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/onlykeke/services/trackbacks/86370.html</trackback:ping><description><![CDATA[
		<p>
				<a href="http://jack.lifegoo.com/?p=27">http://jack.lifegoo.com/?p=27</a>
				<a href="http://dev.mysql.com/doc/refman/5.0/en/mathematical-functions.html" target="_blank">
						<font color="#59708c">
								<br />
								<br />RAND()</font>
				</a>是MySql的一个内嵌函数，主要用来生成随机数。</p>
		<blockquote>
				<p>
						<strong>RAND()/RAND(N)</strong> returns a random floating-point value <em class="replaceable"><code><font color="#666666">v</font></code></em> between <code class="literal"><font color="#666666">0</font></code> and <code class="literal"><font color="#666666">1</font></code> inclusive (that is, in the range <code class="literal"><font color="#666666">0</font></code> &lt;= <em class="replaceable"><code><font color="#666666">v</font></code></em> &lt;= <code class="literal"><font color="#666666">1.0</font></code>). If an integer argument <em class="replaceable"><code><font color="#666666">N</font></code></em> is specified, it is used as the seed value, which produces a repeatable sequence of column values.</p>
		</blockquote>
		<p>MySql的文档说”把 ORDER BY RAND()和LIMIT联合使用，那么就可以来随机选择行(<code class="literal"><font color="#666666">ORDER BY RAND()</font></code> combined with <code class="literal"><font color="#666666">LIMIT</font></code> is useful for selecting a random sample from a set of rows)”, 例如:</p>
		<blockquote>
				<p>SELECT * FROM random ORDER BY RAND() LIMIT 1</p>
		</blockquote>
		<p>当上述SQL运行时，RAND()必须每次都被解释以便获得新的随机数。同时从explain sql的extra信息我们大致可以推出上面SQL的工作流程:</p>
		<ol>
				<li>MySql用结果集创建一个temporary table(Using temporary). 
</li>
				<li>给结果集的每一行赋予一个随机有序的索引. 
</li>
				<li>进行排序然后返回结果 (Using filesort). </li>
		</ol>
		<p>这个过程对于少量数据(具体见后面的benchmarks report)是可行的，但是对于大数据集是很浪费时间的。换而言之，ORDER BY RAND()对于随机选取的scalibility是很差的。</p>
		<p>
				<a id="more-27">
				</a>
		</p>
		<p>现在回到问题的最初，前天钱斌在察看MySql服务器性能时发现ORDER BY RAND()这个SQL语句非常慢(数据库表内有近200,000的数据，以后还要增加)，然后他提出自己的一个解决方案 ——- 数据插入前随机排序，选取时顺序读取。这是一个可行的办法，成本是必须修改程序。另一方面我也不愿意放弃MySql提供的RAND()函数。</p>
		<p>重新看ORDER BY RAND()的工作流程，可以找出优化的途径(序列号对应上面的工作流程顺序):</p>
		<ol>
				<li>结果集能不能缩到最小? 能不能做到和外部数据无关，而是一种常数的关系? 能不能在结果集的选取上就是随机的? 
</li>
				<li>对表结构里面的一些属性做索引。 
</li>
				<li>对结果集按照某个属性来做排序然后返回结果。 
</li>
				<li>RAND()不能出现在WHERE后面以保证RAND()是只运行一次的。 </li>
		</ol>
		<p>按照这些想法，下面就是设计其实现。</p>
		<ol>
				<li>首先想到的方案很简单，类似内存访问。table里数据都是从第一条开始读取，其访问偏移量可以做到随机。<br /><blockquote><p>SELECT FLOOR(RAND() * COUNT(*)) AS offset FROM random;<br />SELECT * FROM random LIMIT offset, 1;</p></blockquote><p>唯一的问题是，上面是两句独立的SELECT语句，所以可以用存储过程或者MySql函数来实现。 </p></li>
				<li>下面的方案主要集中力量在缩小结果方面。假设最简单的一种场景: random table里面有一个bigint型的主键(记作id)，那么选取出一个 id &gt;= FLOOR(max(id) * RAND()) 会怎么样呢?<br /><blockquote><p>SELECT * FROM random<br />WHERE id &gt;= (SELECT FLOOR(MAX(id) * RAND()) FROM random )<br />ORDER BY id ASC LIMIT 1;</p></blockquote><p>可以分析出来，因为RAND()是在[0, 1]区间，所以结果集数目是在[0, max(id)]之间。这样就说明结果集是不稳定的，换句话说它可能受外部数据的变化而振动。更致命的缺陷是RAND()是在WHERE后面的，这样每选择一行，RAND()都要被解释一次。 </p></li>
				<li>尝试改善上述方案的缺陷，我们得到这样的实现:<br /><blockquote><p>SELECT *<br />FROM random AS r JOIN (SELECT FLOOR(RAND() * SELECT MAX(id) FROM random) AS id ) AS r0<br />WHERE r.id &gt;= r0.id<br />ORDER BY r.id ASC LIMIT 1;</p></blockquote><p>第二种方案里面嵌套SELECT我们用INNER JOIN来取代。这种取代使得RAND()只需要解释运行一次。当然它的结果集数目还是停留在[0, max(id)]区间。 </p></li>
		</ol>
		<p>最后是benchmarks的一些数据:</p>
		<p>第1种解决方案: SELECT * FROM random ORDER BY RAND() LIMIT 1<br />第2种解决方案: SELECT * FROM random WHERE id &gt;= (SELECT FLOOR(MAX(id) * RAND()) FROM random ) ORDER BY id ASC LIMIT 1;<br />第3种解决方案: SELECT * FROM random AS r JOIN (SELECT FLOOR(RAND() * SELECT MAX(id) FROM random) AS id ) AS r0 WHERE r.id &gt;= r0.id ORDER BY r.id ASC LIMIT 1;<br />上述三种方案都分别独立运行100次。</p>
		<table style="HEIGHT: 112px" width="464" border="1">
				<tbody>
						<tr>
								<td>random数据大小</td>
								<td>第1种解决方案</td>
								<td>第2种解决方案</td>
								<td>第3种解决方案</td>
						</tr>
						<tr>
								<td>100</td>
								<td align="right">0.08s</td>
								<td align="right">0.08s</td>
								<td align="right">0.02s</td>
						</tr>
						<tr>
								<td>500</td>
								<td align="right">0.08s</td>
								<td align="right">0.80s</td>
								<td align="right">0.00-0.01s</td>
						</tr>
						<tr>
								<td>1000</td>
								<td align="right">0.14s</td>
								<td align="right">2.00s</td>
								<td align="right">0.02s</td>
						</tr>
						<tr>
								<td>10000</td>
								<td align="right">1.53s</td>
								<td align="right">65.02s</td>
								<td align="right">0.00-0.02s</td>
						</tr>
						<tr>
								<td>100000</td>
								<td align="right">15.83s</td>
								<td align="right"> </td>
								<td align="right">0.00-0.02s</td>
						</tr>
				</tbody>
		</table>
		<p>
				<img id="image29" height="353" alt="rand100.png" src="http://jack.lifegoo.com/wp-content/uploads/2006/09/rand100.png" width="467" />
		</p>
<img src ="http://www.blogjava.net/onlykeke/aggbug/86370.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/onlykeke/" target="_blank">奇葛格</a> 2006-12-08 15:43 <a href="http://www.blogjava.net/onlykeke/archive/2006/12/08/86370.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>