Tip: 看不到本站引用 Flickr 的图片? 下载 Firefox Access Flickr 插件 | AD: 订阅 DBA notes -- ![]()
2008-07-01 Tue
很早之前在自己的小圈子里就提过,51未来的竞争对手是巨人,这个toking是见证人,别说我事后诸葛。
提这个提法的时候基于两点,一是用户群目标的高度重合,都是抢二三线城市的网吧用户。二是发展方向的彼此冲突,51走网游,而巨人呢,明显的一个迹象是要做社区化,游戏中做交友。网游+社区成为二者共同的目标。
那么,没想到,史玉柱与我心有戚戚焉,竟然真的投资巨人了,而51显然也是对史玉柱情有独钟,放弃了马云那更多的美刀。
但是依然罗嗦两句
1. 51的价值,目前51估值不高,与其流量相当的校内比他估值高多了,当然陈一舟比较善于包装,史玉柱也不是孙正义那样冤大头,那庞升东说,51的价值在于网游,潜台词是所以现在价值不高。这个说法我认为是有问题的,网游对51有价值是几乎可以肯定的,但是是不是离开了网游51就没价值了?庞升东应该仔细看看腾讯的财报,多看一些历史财报,看看没有网游的腾讯是怎样的,实际上51现有流量的价值,其挖掘,依我看,不足1/5,网游固然赚钱,但是并不是说除了网游就没有办法了,51所覆盖的人群很有特色,就是在一些二三线城镇,县乡一级的城镇覆盖密度极高,其使用率甚至超过搜索引擎,超过门户网站。当在一个地区有如此高的覆盖率的时候,就有很多事情可以做了。模式有充足的挖掘空间。
2. 史玉柱的管理,史玉柱说不参与51管理,一般来说,投资人不参与企业管理是一个共识,因为很多时候投资人并不是特清楚互联网应该怎么运作和发展,现在标榜自己和投资人意见相左而成功已经成为一种定势。但是,这是一般情况,史玉柱是谁?中国目前最好的营销天才,而51恰恰缺乏的就是营销天才。庞和他手下的人都很聪明,他们对流量的把握,对用户的把握是很强的,不仅仅是51.com,还有数不清的其他站点(很少人知道,51这个公司,除了51.com之外的站点集群,其合理估值也有数千万美元)都可以证明这一点,但是他们对营销变现的把握,显然还不称职,和腾讯比就相差甚远,更不用说史玉柱。那么,51不用这样的营销大师实在没有理由,另一个潜在的解释是,史玉柱只说不参与管理,没说不参与经营,但是我很难想象他们搞这个文字游戏干什么。
大体想到这么多,我的观点是,庞升东的使命应该说差不多完成了(流量),下面就是仔细看史玉柱会变什么魔术(收入)。
Shared by Fenng
就是一个牛B啊
Alibaba.com 的UED团队是负责阿里巴巴国际站,本文也主要是说我们的团队。也不知道为什么,在最近面试的人和招进来的新人眼中,阿里巴巴的设计团队是有严谨的UCD流程,专业的分工,完善的设计评审体系,严格全面的设计规范,以此来确保网站的设计质量和效率。
我现在要大声说,我们不是这样的团队,这也TMD不是我们想要的设计团队。有如此期望的设计师,您能举出一些这样团队的成功案例吗? 我还没有听说过,非常愿意听您说说。 目前,有如此期望的设计师,在我的招聘模型里,100分里先扣40分。 理由:
- 缺乏创新精神,所以内心期望设计评审体系来指导自己的设计
- 缺乏沟通能力,所以内心期望流程来帮助自己卖出设计成果
- 缺乏专业能力,所以内心期望专业分工来弥补自己能力的不足
- 符合以上三条,说明智力有问题,我们不喜欢
为什么“严谨的UCD流程,专业的分工,完善的设计评审体系,严格全面的设计规范”不是我们的设计团队想要的呢?我在这里一样一样和大家说。
先说“严谨的UCD流程”,流程管理的高手都应该知道,流程这东西,是给傻子用的,让他按部就班做完一个事情,确保一定的质量就行。对于聪明人来说,流程是创新的原料之一,只有打破既定规则,才能创造新规则,社会才得以进步。对阿里人来说,“遵循但不拘泥于流程”是我们的行动准则之一。目前Alibaba.com 的设计部是公司创新动力的源泉之一,不是傻子集散地,所以不要指望这里有非常严谨的流程可以遵循。(虽然我之前还列过流程中设计师所需要做的详细动作,但希望那是被聪明人用来打破的。)
另,至于UCD,这两年,我一直感觉作为一种设计思想是正确的,但具体到设计流程设计方法,还是有很大问题的。目前我们需要深入理解以用户为中心的设计思想,但不能拘泥于UCD的设计流程和设计方法。这个2007UPA我们的工作坊里讲过一些,有空再和大家详细讨论。Is UCD Really Broken? 这里激励的讨论,原文中的许多观点我赞同,特别是UCD没有深入涉及创新,不够敏捷,这两点深有体会。
最后要澄清的一点,目前Alibaba.com UED不是没有设计流程,目前我们还是有项目流程,设计流程,这些也许可以帮助新人快速成长,但设计师不能依赖于流程。
再说“专业的分工”,各家业界顶尖设计公司的创新秘技之一,就是在各个专业领域的交集寻找创新的突破口。我认为,专业是要分工,设计,技术,商业,三者是要有分工的,创新来自这三者的交集。 但许多应聘设计师所期望的:视觉设计、交互设计、前端开发、用户研究、这四个角色的严格分工,在Alibaba.com UED是没有的。我从目前业界N位顶级设计师的文章看出,设计是一个综合的考虑各种因素的过程,设计师的综合能力越强,其设计成果越能获得成功。
这里要澄清的是,目前我们的团队是有四个职位的,但高层级的设计师要求至少两项以上的能力都很强,比如高级交互设计师还要求中级以上的视觉设计能力和用户研究能力,或者前端开发能力。
写到这里,不得不说一个让我很生气的事情。之前去几个高校做分享,居然被人评价你们要招的是超人,什么都会。的确,目前我们非常明确的岗位需求就是这样,中国的教育体系直接培养出来的人,几乎都不是我们需要的人。面对几百位也许只会一点点的应届毕业生(包括硕士博士研究生),我们只能说:“抱歉,希望以后有机会共事。”
但是,我迫切的希望同学们去看看google ebay yahoo 等优秀互联网公司目前的招聘要求,没有一个比Alibaba.com低的!N年以前我看Yahoo北美地区的招聘要求也觉得这怎么可能,今天我花了一个上午在Linkedin上招聘外籍设计师,十年以上设计经验的简历比比皆是,每个人在各项设计能力都有成功案例,甚至在商业和技术领域有成功案例的资深设计师,搜索一下也有不少。 难道老外都是超人,中国人首先自己不能气馁,给自己一个明确的要求,是进步的前提。
当然,我也遇到有应届毕业生,没做过一个网站,看了我们的招聘网站后觉得自己100%符合,在我逐条解释招聘要求后,还觉得自己70%吻合。写个简历一定针对性都没有,还要说自己有营销意识,不但不理解业界和公司的岗位要求,还没有自知之明,这样的人请不要浪费你的和我的时间了。 产生这样的现象,大学教育,设计业界,都有责任,这又是另一个话题,改天再说。
在这里,我要大声说,我们网站上的招聘要求写的轻松,是我们营销意识好,尽量吸引Leads,不是我们对人才的要求低,恰恰相反,据我对国内互联网设计界的了解,要被Alibaba.com认为是优秀设计师,是非常不容易的事情,要不然我们也不会搞近万元RMB的内部推荐奖金了。(插播广告,推荐一位优秀设计师并被成功入用,奖金4000RMB+iPhone)
再说“完善的设计评审体系”,业界有学者在搞量化用户体验的事情,在我看来,价值不大。 首先,设计的好坏,除了用户体验,还有商业利益,技术实现这两个维度需要思考,一个成功的商业设计必然是三方的共赢,单纯从用户体验的维度来看设计的好坏,不具备商业价值。
对于设计师来说,寄期望于三两个用户测试,专家评审来给出完美的设计,那是不可能的,设计的关键在于创新,在于商业利益和用户利益的共赢,这些不是测试和评审能得出的。专家评审和用户测试只能作为辅助设计,考虑易用性问题的手段而已。虽然我们Team现在正在完善设计评审的格式和流程,但每个设计师都清楚这只是寻求团队帮助的一种手段而已。
最后说“严格全面的设计规范”,这点上,我敢说全球的大型互联网公司,正式做的比我们早的没几个。我们起初只是有一个懵懂的标准化模块化设计的意识,等做完了之后才发现米国Yahoo最初做的和我们80%一致,再后来才发现原来我们之前的想法在英文的世界里称之为“Pattern-based design”的理论。
这几年几个版本改下来,在这个每天都有新东西的互联网世界中,我一个强烈的感觉,形神兼备固然好,但两者一定要取其一的话,神更重要。目前我们的设计规范,也同样是让新人快速上手用的,更希望这是优秀的设计师创新设计的一个平台,或者是一个载体。所以,来Alibaba.com UED的话,与其期望严格全面的设计规范,不如期望这里有一个整体改进网站的机会。
OK, 没想到今天能写这么多,就到这里吧,希望本文能对Alibaba.com UED团队的现状有一个准确的描绘,让大家有一个近似的期望值。再次强调,Alibaba.com目前还是一家创业公司,真的,不是谦虚,希望大家能理解。
注:此为51.com前产品经理天生天杀在草根网QQ群里的交流记录,非常具有参考价值。
那年6月我做xxx失败,正好当时和51谈合作,51用户数当时刚刚超过2000万,的确震撼了我一把,感觉它很有前途,于是就加入了51,也是51第一个正式拥有产品经理头衔的员工。以前所有的产品老员工都叫策划,职权责划分也非常模糊。我来之后,产品中心的组织架构才开始渐渐改革,而当时公司已经成立了2年多了,可见当时51在公司层面还比较不成熟,后来做到12月份,因为一些个人原因,所以离开了。
在51的经历虽然不长,但是确实学习到了很多东西,首先打破了我对所谓web2.0的迷信,其次,让我又一次看到了(原来在盛大做市场分析,已经看到过一些,本来以为社区和blog会和网游不同,但是……)中国互联网的普遍大众到底是什么社会阶层,他们的真实需求是什么?最后,了解到一个5千万级别(目前51的注册数)的网站,是怎样一点一点发展起来的。
麦田在上面说的,我大体是赞同的(那个大广播原来叫51传情,是我负责的 现在的缴费上线的功能原型 也是我去年在圣诞节活动提出的 被人夸奖的感觉真不错 哈哈哈……)但是总感觉有点隔靴搔痒,既然痒痒了,那不如自己抓抓。呵呵,下面谈谈我对于51一些看法;
1、51的定位非常准确;51的产品老大是张剑福,83年出生,应该是高中学历;是我在互联网界最佩服的几个产品人员之一;他经历丰富,做过地摊小贩,混过很长时间迪吧,卖过医疗器械,做过个人网站10770,后来庞收购10770,创办了51。
张其人对互联网中低端用户的行为与心理极其了解,我曾见其与陌生qq女聊天,两三句搞定,让我惊为天人。51的所有产品设计都来源于他,庞根本不予参与。张曾对我说过,51的所有产品设定,都围绕一个主题,也是51的核心定位:一切为了泡与被泡!这也是我到互联网,听过最精辟的话语之一。
2、51的定位与网站内容相符;产品细节有几个突出点:
一、域名简单好记,易于传播;
二。有视频认证,提升粘性和网站真实性,这也是51最开始的杀手级应用;
三、俊男美女大量集中展示,首页的千娇百媚和玉树临风让人过目不忘;
四、网站脚印、留言、回复等沟通功能较为完善,为用户交流提供可能;
五、简单易用 用户易于理解,非常符合中低端用户的需要,大家可以看看51的注册流程,这恐怕是中国中注册功能最优秀的网站注册功能之一了;
六、网站的文化层次定位较好;符合不喜欢qq那么花,又不喜欢sina那么严肃的用户的需求,而这部分用户非常多;
七、群组功能较为突出,形成小圈子;网站简单方便;,符合低端用户的简单沟通需求;其他还有一些,大家仔细找找。
3、51的硬件和带宽条件较好,运维的基本方针是:为用户提供了基本稳定、基本速度的产品;不要快,但是也绝不慢,长期稳定。
下面说说51未来发展的几个坎;
1、对于中低端的大众用户,其惰性较强,很难坚持blog和照片的更新,经常是三个月热乎,然后就冷掉了。51目前缺乏长期留住用户的手段,而网站上优秀的内容较sina等竞争对手较少,缺乏可读性;这就造成了51网站的中粘性、中刺激性、长期粘性较弱;大部分用户玩了3个月到半年就走掉了,不解决这个问题,51将难以有巨大发展。
2、用户在51认识了帅哥美女,就去qq上深入发展了,有一阵我们戏称51是qq最大的用户来源之一,可见问题的严重性;目前51已经集成了web im功能;软件im也在开发中,希望能为用户提供深入交流的工具,前途如何,还不好说。
3、缺乏有力的盈利模式,这个我就不说了,做社区的大家都这样。
4、缺乏品牌,品牌包含三点;知名度、美誉度、品牌所蕴含的价值观;51在这点上做的极为不足;同时品牌的缺失也难以对用户形成更强的粘性和凝聚力,缺乏品牌也就缺乏文化,缺乏文化想要做高忠诚的核心用户很难。目前的51说白了不是社区,而是一个展示和交流的交友平台,如果想要做做成真正意义上的社区,品牌和文化是必不可少的一环;也许51未来的群组,会形成一个个的小文化圈??路还很漫长哈。
最后说说老庞。嗯业界对他是有很多负面消息,我感觉大多是以讹传讹。作为一个与其有过一些接触的前部下,对老庞的品性我还是相信的,而且对其魄力我是非常佩服的。做51可谓庞人生中一次大赌,押上了他全部身家并借了很多外债。据我所知今年春节的时候,他还没有完全还清外债。创业伊始,51钱不多,牛人没有。老庞满互联网张贴招人广告,最终拼成了一只得到投资商认可的团队,其中艰难可知。当然,老庞有很多缺点,在背后我也就不指摘了,以后有机会当面告诉他。
We were chatting with Jeremy Cole today and he brought to my attention last version of MySQL Community Eddition (5.0.51) was released in November 2007 - over 7 months ago. MySQL 5.0.51a and MySQL 5.0.51b security fixes were released but these can’t be considered proper releases.
If we look at the old Kaj’s Announcement we can see there suppose to be 2 yearly binary releases (which are overdue) and 4 predictable yearly source releases, which we have not seen either.
Though, Honestly, I do not care that much any more. I have adapted my ways not to go to dev.mysql.com for MySQL downloads any more but go to mirror.provenscaling.com, where Jeremy Cole promptly publish MySQL Enterprise sources and binaries. We take sources and add spice them up with other community extensions which can’t ever get included in official MySQL tree and use that version instead.
It is worth to mention at the same time there are some improvements when it comes to development community MySQL now moved sources to launchpad - now it makes it easier for you as contributor to create your branch or grab and test someone elses. If you’re just looking for stable, recent, binary MySQL Community release, there is little MySQL offers you.
Entry posted by peter | 4 comments
Shared by Fenng
支持 Zola 继续报道!
昨天的流量惊人,幸好是Dreamhost啊,幸好GFW对我网开一面啊,幸好是我啊,幸好我从车东还有冯大辉的BLOG学了不少实用的技术啊.
用密码和名字都是guest即可访问这个报表:
https://www.zuola.com/cgi-bin/awstats.pl?config=zuola.com
| 摘要 | |||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||
* 非浏览的流量包括搜索引擎机器人,蠕虫病毒产生的流量和非正常的HTTP相应
前几月才这么一丁点流量,昨天一天就超了,不知道是网络传播的功劳还是DOS者的功劳,昨天花掉145GB的网络流量啊,谢谢GFW配合我完成这次民间新闻传播。以后还有奥运要报道呢,还有更大更高的潮水呢。
| 月 | 参观者 | 参观人次 | 网页数 | 文件数 | 字节 |
| 一月 2008 | 23402 | 43143 | 111359 | 152029 | 846.95 M字节 |
| 二月 2008 | 17138 | 32773 | 88178 | 132748 | 917.71 M字节 |
| 三月 2008 | 17068 | 34143 | 83337 | 169270 | 2.00 G字节 |
| 四月 2008 | 17551 | 35837 | 95063 | 152086 | 6.19 G字节 |
| 五月 2008 | 15488 | 35512 | 86330 | 120650 | 4.45 G字节 |
| 六月 2008 | 16690 | 37485 | 78301 | 98026 | 2.09 G字节 |
| 七月 2008 | 21893 | 23840 | 91904 | 98010 | 115.51 G字节 |
| 八月 2008 | 0 | 0 | 0 | 0 | 0 |
我过两天还要去香港,我还要买一个黑莓带GPS的手机来充分发挥全天候无缝报道民间新闻的能力,请大家相信我的能力,请大家多多关注,多多支持,多多给外部链接,请大家多多捐助我,不要怪我我脸皮越来越厚了啊,我觉得募捐不是用来嫖赌毒而是付车旅费就心安理得。
我一定会成为没有勋章的中国杰出青年,我一定会倡导一种新青年的生活态度,新青年,新技术,新媒体,新生活!
.
© Zola | CC | 沙发还在? | 国外订阅 | 国内订阅 | 常见问题 | 赞助方式
昨天的流量惊人,幸好是Dreamhost啊,幸好GFW对我网开一面啊,幸好是我啊,幸好我从车东还有冯大辉的BLOG学了不少实用的技术啊.
用密码和名字都是guest即可访问这个报表:
https://www.zuola.com/cgi-bin/awstats.pl?config=zuola.com
| 摘要 | |||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||
* 非浏览的流量包括搜索引擎机器人,蠕虫病毒产生的流量和非正常的HTTP相应
前几月才这么一丁点流量,昨天一天就超了,不知道是网络传播的功劳还是DOS者的功劳,昨天花掉145GB的网络流量啊,谢谢GFW配合我完成这次民间新闻传播。以后还有奥运要报道呢,还有更大更高的潮水呢。
| 月 | 参观者 | 参观人次 | 网页数 | 文件数 | 字节 |
| 一月 2008 | 23402 | 43143 | 111359 | 152029 | 846.95 M字节 |
| 二月 2008 | 17138 | 32773 | 88178 | 132748 | 917.71 M字节 |
| 三月 2008 | 17068 | 34143 | 83337 | 169270 | 2.00 G字节 |
| 四月 2008 | 17551 | 35837 | 95063 | 152086 | 6.19 G字节 |
| 五月 2008 | 15488 | 35512 | 86330 | 120650 | 4.45 G字节 |
| 六月 2008 | 16690 | 37485 | 78301 | 98026 | 2.09 G字节 |
| 七月 2008 | 21893 | 23840 | 91904 | 98010 | 115.51 G字节 |
| 八月 2008 | 0 | 0 | 0 | 0 | 0 |
我过两天还要去香港,我还要买一个黑莓带GPS的手机来充分发挥全天候无缝报道民间新闻的能力,请大家相信我的能力,请大家多多关注,多多支持,多多给外部链接,请大家多多捐助我,不要怪我我脸皮越来越厚了啊,我觉得募捐不是用来嫖赌毒而是付车旅费就心安理得。
我一定会成为没有勋章的中国杰出青年,我一定会倡导一种新青年的生活态度,新青年,新技术,新媒体,新生活!
.
© Zola | CC | 沙发还在? | 国外订阅 | 国内订阅 | 常见问题 | 赞助方式
昨儿小容推荐了一个他颇为喜欢的服务Omnisio.com,很赞赏其中将视频和幻灯片混置(Mashup)在一起的功能。我想,喜欢从video和ppt中获取资讯的朋友们也都会喜欢它的:
omnisio能够从在线视频中搜索出你需要的视频,然后从slideshare中匹配相应的ppt(也可以自己上传),完了能够让人们通过flash的界面,在线编辑他们。Omnisio将ppt一页一页的解析出来,用户能够将它们拖动到匹配的视频时间段,此外,还能再里面添加留言/评论。
目前,在omnisio上,有不少有价值的video+ppt的混置作品。
同样也有不少类似吸引人内容的,还有一个叫Zentation.com的更专注与此的服务,它也是让人们或者从网络上获取video或者直接上传。
从上面两个网站的有趣内容的受益中,我们真的可以感受到SocialWeb的魅力和潜力。
社会性(Social),是相对于互不相联系的孤落形态而言,从这个角度来说,整个互联网的发展,就是一个Social的进化过程,从计算机互联的硬件社会性,到软件互联的各种计算接口/应用,再到Web上各种Object/物的社会化服务,现在,我们又看到了基于SocialWeb上各种单件/应用之间的混置服务。社会性一直在虚拟世界的各个层面上,重复着现实社会的组织/运作状态,借助电子信息流的时空特性,将人们带到了一个之前没有见到的境地。
socialweb中的social离不开现实社会的social文化、制度等,造就了什么样社会的文化,同样也会造就什么样的SocialWeb。社会性的巨大潜力和作用,得益于专注而来的专业化,以及从人到应用之间的开放、合作心态和实际的操作机制(制度),只有如此,才能够源源不断地有创新和演化。所以,我们可以切实的期待到西方互联网世界中对应了社会、文化层面上的所谓先进性。
相比之下,中国大陆的互联网络社会性而言,其状况恰好对应了现实的政治、社会生态。
在 XDite 這篇 [Rails] The Better Way To Do Random 所提到 Jan Kneschke 的「ORDER BY RAND()」這篇文章裡為了找到 ORDER BY RAND() 的替代方案,花了不少功夫解釋。
(PS:我跟 XDite 同屬 PIXNET 的一員,其中本篇文章所提到的 VeryXD 主機目前也放在 PIXNET 的機房裡)
最原始的想法是:
SELECT MAX(id) FROM table;
### 在 application 取一個 1 到 id 中間的值
SELECT * FROM table WHERE id = ...;
但這篇文章要探討的是如何在 MySQL 裡全部做完,所以重點放在如何在 MySQL 裡取得 randid。
首先是透過 RAND() 幫忙:
SELECT RAND() * MAX(id) FROM random;
然後發現有小數點,所以用 CEIL() 變成:
SELECT CEIL(RAND() * MAX(id)) FROM random;
但這個 SQL query 效率不太好:如果有 1M rows,就會跑了 1M 次。所以利用 subquery 改寫成:
SELECT CEIL(RAND() * (SELECT MAX(id) FROM random));
用 EXPLAIN 檢查看起來不錯,所以包成 subquery 拉出隨機選出的 row:
SELECT name FROM random WHERE id = (SELECT CEIL(RAND() * (SELECT MAX(id) FROM random)));
結果發現速度不佳,用 EXPLAIN 檢查發現是因為 subquery optimization 被取消。所以改用其他的方法,像是利用 temporily table 與 JOIN:
SELECT name FROM random JOIN (SELECT CEIL(RAND() * (SELECT MAX(id) FROM random)) AS id) AS r2 USING(id);
速度沒什麼問題,用 EXPLAIN 檢查看起來也都 ok 了,所以我們要處理 id 不連續的情況,也就是有「洞」的狀態,所以取比這個 randid 大的第一個 row:
SELECT name FROM random AS r1 JOIN (SELECT (RAND() * (SELECT MAX(id) FROM random)) AS id) AS r2 WHERE r1.id >= r2.id ORDER BY r1.id ASC LIMIT 1;
至於更後面為了要做到在 non-uniform distribution 下的 ORDER BY RAND() 效果所花的功夫太大 (像是透過 trigger 產生某個 uniform 欄位,然後就可以用那個欄位用上面的方法處理),一般人應該用不到。需要的人就麻煩自己去看了 :p
记录,没有最高,只有更高.
一个晚上,迫于系统压力,重起一个系统的数据库,重起后,立刻碰到bug;
没有办法,再来一次.
相对于我们重起一次需要申请15天以上,我估计今天晚上我的操作已经是我们这个team中的记录了.
再破记录,该高兴还是该悲伤,只是希望这样的记录不要再有了,否则我要疯的.
有时候,一个语句执行很慢,不仅仅是sql执行计划的问题,还很有可能是存储发生了问题,如存储的cache发生问题,存储的控制器有问题,这些问题,都可以在存储相应的log中可以看到。但是作为一个dba,可能会不清楚存储的相关知识,我们在处理问题的时候,怎么样利用数据库的表现去怀疑是否是存储问题,进而请存储工程师进行检查?这里介绍2种简单的方法:
1.checkpoint时间,如果是一个繁忙的系统(经常有脏数据产生),db cache size也比较大,但是做一次checkpoint如果超过3分钟,就可以怀疑是否有存储问题了。
2.如果在等待事件中发现log file sync等待出现的session个数很多,超过50个,基本也可以怀疑是否是存储出现问题了。
当然,以上2种方法一般是发生存储“写”出现了问题,如果储存“读”出现问题,这还是一个比较难判断的问题(因为估计等待事件还是db file sequential read或者db file scattered read)。
欢迎大家补充。
中国互联网业最具争议性的梦想家及他在历次泡沫中所经历的荣辱成败
时隔两年,又见陈一舟。
上一次是在2006年8月,香港太平山顶的一间高档餐厅,彼时,千橡互动集团被视为中国最有前途的Web2.0公司,其第二轮4800万美元融资创造了当时国内互联网业的纪录。身为创始人的陈一舟看上去很有些港片里“笑看风云”的大亨气慨。
仅仅一个月后,SP(无线增值服务)遭遇全行业寒流,千橡半年内连续裁员三轮。
这一次,约在了千橡的北京总部静安中心附近,一家名为欧索米萝咖啡的餐吧。从远处看,它的标志很像著名的星巴克(Starbucks),而里面装修却是地道的台湾风格。这跟陈一舟旗下的校内网(www.xiaonei.com)有些异曲同工,后者也常常被外界称为中国式Facebook,或者说中国众多的Facebook模仿者中最领先的一个。
陈一舟先到了一会儿。他穿得很随意,横条T恤,休闲短裤,趿拉着拖鞋。你很难把眼前这个大剌剌的家伙,与一位过去四年来中国互联网业最具戏剧性和争议性的话题人物联系在一起。
对于这个人,业界有很多标签:创业疯子、资本玩家、收购狂人、机会主义者。仅仅一年半之前,他的公司还是一个十足的反面教材,“中国互联网历史上最大规模风投+资本市场上最热门概念=关于创业你所应知的一切教训”(某知名媒体语)。
但就在最近,千橡集团宣布完成4.3亿美元战略融资,除了来自日本软银4亿美元的投资外,还有Joho Capital和SBI的战略投资。交易完成后,软银将持有千橡35%股份。除却2005年10月软银、雅虎与阿里巴巴复杂的股权资本交易,这是中国互联网领域最大规模的私募案子了。
简单地讲,亚洲NO.1的互联网大亨孙正义看好陈一舟,就像他当年看好马云一样。
在创业9年之后,借助SNS(社交网络)的全球东风,陈一舟首度拥有了一个估值接近10亿美金的互联网公司。这让很多人不服气,包括他曾经的部下,独立IT评论家洪波(Keso)都说“千橡的估值高得离谱”。
陈一舟不辩驳,他承认自己“比死去的95%创业型公司要幸运”,“在活下的5%公司里,十年能抓住一个大机遇也算相当不错了,得感谢老天爷”。
“我们唯一的优势不是钱,也不是人,而是身上的伤疤比别人多几个”,陈一舟对此很坚信。自1999年第一次创业起,他经历了4次规模不等的市场泡沫,2000年互联网泡沫、2002年美国光通讯泡沫、2006年中国SP泡沫和Web2.0泡沫。
陈一舟用其一贯跳跃的语言感慨道,“世界很复杂,我们很天真”。
活下来
一份牛排+一碗排骨面。
尽管声称自己正在减肥,但看着颇具诱惑力的菜单,陈一舟还是不得不向自己的好胃口投降。每个人都如此,要时时与自己内心的魔鬼抗衡,有胜有败。
Greed(贪婪)、Lack of focus(不聚焦)、Short term oriented(短期行为),这是陈一舟在2007年12月底的一篇日志中归纳的部分Human nature(人性)。某种程度上,就是这些危险的
人类天性导致了千橡在2004年至2006年中这段时期的非理性发展。
当时正是SP业务的巅峰期。在收购了五六个SP公司之后,千橡每月来自无线增值服务的纯利润就有一两千万,两轮五千多万美元的融资基本还没怎么动过。 “这个时候当然应该扩张啦”,陈一舟认为在这种情况下做出一些新业务的实验是理所当然的,代价也很低。
于是,腰包鼓鼓的他接二连三地收购了一批很Web2.0的潜力网站,他要招兵买马,搭建一个集聚所有2.0精华的“千橡矩阵”,而不是象空中网、TOM在线一样靠着SP业务单独上市。UUMe模仿YouTube,RenRen模仿Craigslist、再加上猫扑、Donews、5Q校园网、客户端软件等等,“当时公司的业务线足足有9条之多”,主管销售的千橡副总裁王秀娟称。
但谁也没想到,从2006年7月起,由于运营商突然收紧的政策,SP业务的利润像冰棍一样快速融化。“从上千万到几百万,后来就是一、两百万,慢慢到现在基本上就不挣钱了。”
陈一舟害怕当年做Chinaren时“钱烧完”被迫出售的那一幕重演。于是,他决定“撤退”,尽管很多新业务才刚刚铺开摊子。“撤得很坚决,虽然那个时候赚过不少钱,但是宁肯挨骂,也不再撑下去。”
2006年下半年,陈一舟几乎每天大早晨就去泳池游泳,他把自己浸泡在冰凉的水里,逼着想今天要砍什么成本明天要关哪个业务。“我整整游了半年,减肥减了20斤”。
那段时间千橡中高层几乎天天开会讨论哪块非核心业务应该砍掉,那块业务价值不大应该收缩,每个部门都有自己的理由,都有存在的必要,最终取舍还得要CEO本人来下决心。
判断的标准主要就两条:一是能不能建立竞争壁垒,二是能不能很快“出油”(带来收入)。
做P2P视频、微视频,千橡都是最早动手的之一。2006年,YouTube大红大紫,陈一舟用收购来的UUMe专做视频分享,准备了500万美元的战略储备,当他发现已有300家视频网站进入这个领域,并且不乏像优酷这种融资千万美元的公司时,他立刻决定放弃视频,离宣布“打造中国的YouTube”不到二个月时间。“我不玩儿了,赌博的人太多了,我们建立不了竞争壁垒,你在挖油的时候,别人也在挖,你不可能说你在挖的时候建个围墙,这个世界上没有类似的壁垒。”
“我们发现市场的机遇早,我们看到问题也早。我们是真正的‘快公司’。进的快,跑的快,交白旗交得也快。”陈一舟自嘲。
2006年年底,千橡把总部从位于北京CBD核心区的中国人寿大厦迁到了现在的静安中心,这里的租金只有原先的的三分之一。在这场为期半年,陈自称“大伤元气”的结构性调整完成后,千橡的视频业务、renren.com、客户端软件部门整个裁掉,猫扑门户从100多人的规模砍到只剩20多人,加上无线业务的自然瘦身,高峰时期1400人的千橡减员过半。
“一个公司扩张的时候很爽,收缩的时候很负罪,砍成本、裁员的过程太痛苦了。这个痛苦是我这辈子最大的痛苦之一。”回过头看,陈一舟觉得自己有些“矫枉过正”了。“所以我再也不想裁员了,但要保证的就是招人要慢,不要一拍脑门就做,以后上什么项目都得谨慎。”
那段日子,他在日志里自问“怎么才能做个完人?”,答案却是“没有后悔药吃,做完人不可能”。斯时的陈一舟,不再是一名热情的创业者,而是一个冷酷的CE0。壮士断臂的千橡虽然未能在2006年实现上市,却至少生存无虞。
“中国的企业家里面,基本上现在混得好的都吃过亏,甚至是生死存亡的大亏”,陈一舟扳着指头一个个数,张朝阳、丁磊、马化腾、陈天桥、史玉柱等等,“有过濒死体验的公司,才会有大成。我们有过这样的经验,Chinaren当年没卖掉就死了,做千橡的前期也几乎濒死”,陈一舟自我总结,“这一次也是很危险的。”
关键在于找对方向,重新爬起来,越快越好。
在高危险的时候,陈一舟做出了两个极其正确的决定。一个是花费5000万人民币收购校内网,同自己旗下的5Q合并,当时校内的用户还不过数万名。另一个则是开发《猫游记》,进军网游。前者可以扩大千橡在其社区业务的领先优势,而后者是早已证明的赚钱模式。
仅仅1年半后,校内网成为此次软银投资的核心价值所在,这个被冠以"中国Facebook"的网站已经拥有了超过2800万用户。而以猫游记为代表的网游业务,则成为千橡集团内仅次于猫扑网(www.mop.com)的收入来源。
从高峰到谷底,千橡学到的最大教训是“少即是多,欲速则不达”,陈一舟后来在自己的日志中这样写道。
另一种创业家
我们点的意大利面和金枪鱼蔬菜沙拉上来了,“你们吃的很健康,不像我吃的都是肉”。说话间,陈一舟已经干掉了牛排,他用勺子舀去了汤里的油水,开始大口吃面。
某种程度上,他不太像我们熟悉的那类典型互联网创业者,比如王兴。后者曾是校内网的创始人,如今又创办了另一个SNS社区海内(www.hainei.com),与校内网打对台。对于这个比自己小了整整10岁的对手,陈一舟毫不掩饰欣赏之意。“绝对的优秀分子。硅谷式的IT神童,脑袋很大,眼睛很亮”,唯一的区别可能就是“他面相太精明了”。
当然陈一舟也很会读书,不然拿不到麻省理工学院MIT工程学硕士,和斯坦福大学MBA两大文凭,但他承认自己从来都不是“技术型创业家”,工程学硕士那个文凭几乎属于浪费,因为这让他的创业晚了几年。不过MBA还是有用的,“否则我现在就是一个底特律的工程师”,“也许还在等着奇瑞、吉利来挖我”,陈大笑。
在斯坦福,在“风险投资与创业”这堂课上,陈印象最深的话是“一个创业家就是善于把他自己没有的资源调动起来去做一件事。”
他早年的经历恰好与此不谋而合。陈一舟的老家就在武汉的一条著名服装街旁,他没事就做白日梦,想如何摆摊怎么多走货。中学阶段,陈一舟的热情则更多放在了发明创造上,比如给煤气罐底座加上弹簧,这样搬上楼时可以借力使力,但从未真正推广过。上了武汉大学以后,18岁的他开始第一次商业尝试。当时气功很流行,于是他借同学钱进了100本气功书,支了个板凳在邮局门口卖,两天就卖了一半,剩下的交给门房老大爷卖,收入对半分,这次生意他赚了人生中的第一笔钱:23块。
“组织这两个字是很难的,不管是什么资源,这个资源可能是钱,也可以是人家做了一半的小的不成型的商品,都是可以的,不一定非得创造,因为你对社会做的贡献就是使一个东西提前成功。”陈一舟解释称。事实上,他最欣赏的企业家是巴菲特和盖茨。一个是精明老到的股神,而另一个则总是能把别人的半成品变成自己的大成。
他也不愿意做前无古人的创造。“像那样的事成功率是很低的。只适合两种人干。一种是年轻人,青春还长,不怕失败。还有一种是成功了N次的人,他有很多钱,无所谓,喜欢就试试。”他自认为“还没成功,年纪又不小了,只能做风险可控的事情。”
但矛盾在于,“他的性格比较跳跃,容易激动”,千橡副总裁王秀娟称。“以前做新业务,有一点像进赌场,觉得每拉一下老虎机都可能赚钱,拼命拉,结果拉了一天一个没和,钱都输光了。现在不拉了,进了赌场就是看”,陈一舟笑称。
说到善于资本运作,陈一舟用他早年的融资经历予以反驳。2001年,陈一舟离开搜狐,回到美国达拉斯,当时搜狐股价约在1美元。他准备光通讯方面的创业,向一位天使投资人融资。两个人约在麦当劳吃饭,投资人吃3美元的汉堡和免费的黑咖啡,陈一舟爱吃的汉堡和橘汁要5美元,各自买单。“一个吃五块钱汉堡的人找一个吃三块钱汉堡包的人融资,还要吃8次,结果才融了8万美元!”这确实不太像个融资高手的故事,但那时整体投资环境糟糕,说服力不够。
不过千橡最初的投资确实并不多,“我们也是从小干起,当时我们公司融资第一笔融资才30万美金”,陈一舟说。那时他经常飞到去美国融资,但进展很慢。 2003年,为了筹集收购猫扑的资金,他不得不自掏腰包,把搜狐股票全卖了,几乎悉数投入千橡。
而在刷新了中国互联网业的最新融资纪录后,陈一舟的态度反而变得保守起来。“我们不是恐龙,只是豪猪,不过搞了一点果子放在洞里,5年之内饿不死。”
事实的确如此,尽管千橡甩开了两年前同为第二集团阵营的TOM在线、大旗、奇虎等,但它离第一集团的差距可能更大了。现在,千橡的对手是QQ、百度这样市值过百亿美元的公司,而它的身后,还有51.com等在追赶。
“豪猪每个月会到洞外面看看,看是不是出现了新的情况。现在不能老躲在洞里了。Facebook代表着下一代互联网,人人都盯着这个。我们还得当豪猪,有一定抵抗力,不会轻易让别人吃掉,但也不会老是跟人家正面对抗,否则会被踩死的。”
“我们已经退到最后,只能守住这个(社区)了,不能再撤,再撤就没有根据地了,要打硬仗我也没办法,我是被迫打的,我不会主动出击”,陈一舟说得颇为悲壮,“以一种比较沉重的历史眼光看这个问题,有一些战斗是不可避免的。”
雾中的未来
“Joe,你现在看起来像一个更好的CEO,你对世界的理解更加全面,位置感也更好了。”最近,一位千橡的投资人拍着陈一舟的肩膀如此说。
在解决了千橡的温饱问题之后,陈一舟把主要精力放在校内网,每天有一半的时间花在上面,贴近用户,检查产品每一个细节。他的榜样是史玉柱,因为人家一天有12个小时泡在自己的网游上面。
“不收购最好”,这是他最近半年的想法,如果不是亲耳听见,我们很难相信这句话是陈一舟说的,但很快他又说,“一个公司不能保证所有的事情都非常在行,有时候你如果喜欢一个新的领域,不二法门就是收购,几乎没有别的办法。”只是“我们以后要收购一定是大家伙,但可能我们现在融的钱还不够”。
据业内人士的估计,千橡里猫扑的收入目前约1亿上下,网游几千万,校内广告收入应该有大几千万左右。而陈一舟的目标是把手头的事做好,踏踏实实成长。“我能看见的是即使未来三年我们没有一个收购,猫扑的价值可以长好几倍,校内的价值可能是7、8倍甚至更多,网游的价值成长可能是10倍,挺好了。”
最近,陈一舟开始鼓励千橡的管理层,放松的时候多玩玩一种名为德州扑克的游戏。而陈本人就是头号发烧友。这种游戏要玩得好,除了手气之外,技术更重要。 因为不光要看自己的牌,还要猜别人的牌好不好,有些老手会装有好牌,使这个游戏很复杂。游戏到最后,赌注会自动提高,和商业竞争一样。没有足够资金的将被自动洗掉。
在陈一舟最近的日志《CEO最重要的三个任务》中,第一条就是:“持续打德州扑克,看市场每年给我们发的牌。 牌不好,过; 牌较好,看牌;牌很好,all-in。”换句话说,这是一种预见未来,并主动调整的能力。
而变得太快,不够坚持,正是陈一舟常被外界诟病的缺点。对此他自有其看法。“拿到风险投资的公司90%以上都会死掉,在死掉的公司里面90%以上是非常坚持的,他们最后死的那天做的事情跟第一天拿投资做的事情是一模一样的”。
“坚持要坚持在正确的方向上”,陈一舟强调,“创业就像雾中爬山,多数人只能看3米远,有些人能看5米,我们大概也就看4米,这个世界上最稀缺的是对未来的预见能力,我们并不比别人高明”。而在社区领域,陈一舟相信自己比大多数人都看得更远,“前几天我看5年前的融资报告,我们那个时候对世界的远见跟今天惊人的一致,没什么变化,就是社区和无线互联网”。
陈一舟说,“我觉得我是一个执着的人,只是可能不给别人一个执着的印象,变是我的责任,变是我的执着,每个人执着方式不一样,变就是我执着的方式”。
离开的时候,陈一舟被从一楼贯通至二楼的的漂亮玻璃饰物吸引住了,上前用手摸了摸,被服务员婉言劝阻,他呵呵一笑,径自下楼。
(本文系我的同事张凯峰和我共同完成,更多内容请见即将出版《创业家》杂志创刊号)
comment
Alibaba.com 的UED团队是负责阿里巴巴国际站,本文也主要是说我们的团队。也不知道为什么,在最近面试的人和招进来的新人眼中,阿里巴巴的设计团队是有严谨的UCD流程,专业的分工,完善的设计评审体系,严格全面的设计规范,以此来确保网站的设计质量和效率。
我现在要大声说,我们不是这样的团队,这也TMD不是我们想要的设计团队。有如此期望的设计师,您能举出一些这样团队的成功案例吗? 我还没有听说过,非常愿意听您说说。 目前,有如此期望的设计师,在我的招聘模型里,100分里先扣40分。 理由:
- 缺乏创新精神,所以内心期望设计评审体系来指导自己的设计
- 缺乏沟通能力,所以内心期望流程来帮助自己卖出设计成果
- 缺乏专业能力,所以内心期望专业分工来弥补自己能力的不足
- 符合以上三条,说明智力有问题,我们不喜欢
为什么“严谨的UCD流程,专业的分工,完善的设计评审体系,严格全面的设计规范”不是我们的设计团队想要的呢?我在这里一样一样和大家说。
先说“严谨的UCD流程”,流程管理的高手都应该知道,流程这东西,是给傻子用的,让他按部就班做完一个事情,确保一定的质量就行。对于聪明人来说,流程是创新的原料之一,只有打破既定规则,才能创造新规则,社会才得以进步。对阿里人来说,“遵循但不拘泥于流程”是我们的行动准则之一。目前Alibaba.com 的设计部是公司创新动力的源泉之一,不是傻子集散地,所以不要指望这里有非常严谨的流程可以遵循。(虽然我之前还列过流程中设计师所需要做的详细动作,但希望那是被聪明人用来打破的。)
另,至于UCD,这两年,我一直感觉作为一种设计思想是正确的,但具体到设计流程设计方法,还是有很大问题的。目前我们需要深入理解以用户为中心的设计思想,但不能拘泥于UCD的设计流程和设计方法。这个2007UPA我们的工作坊里讲过一些,有空再和大家详细讨论。Is UCD Really Broken? 这里激励的讨论,原文中的许多观点我赞同,特别是UCD没有深入涉及创新,不够敏捷,这两点深有体会。
最后要澄清的一点,目前Alibaba.com UED不是没有设计流程,目前我们还是有项目流程,设计流程,这些也许可以帮助新人快速成长,但设计师不能依赖于流程。
再说“专业的分工”,各家业界顶尖设计公司的创新秘技之一,就是在各个专业领域的交集寻找创新的突破口。我认为,专业是要分工,设计,技术,商业,三者是要有分工的,创新来自这三者的交集。 但许多应聘设计师所期望的:视觉设计、交互设计、前端开发、用户研究、这四个角色的严格分工,在Alibaba.com UED是没有的。我从目前业界N位顶级设计师的文章看出,设计是一个综合的考虑各种因素的过程,设计师的综合能力越强,其设计成果越能获得成功。
这里要澄清的是,目前我们的团队是有四个职位的,但高层级的设计师要求至少两项以上的能力都很强,比如高级交互设计师还要求中级以上的视觉设计能力和用户研究能力,或者前端开发能力。
写到这里,不得不说一个让我很生气的事情。之前去几个高校做分享,居然被人评价你们要招的是超人,什么都会。的确,目前我们非常明确的岗位需求就是这样,中国的教育体系直接培养出来的人,几乎都不是我们需要的人。面对几百位也许只会一点点的应届毕业生(包括硕士博士研究生),我们只能说:“抱歉,希望以后有机会共事。”
但是,我迫切的希望同学们去看看google ebay yahoo 等优秀互联网公司目前的招聘要求,没有一个比Alibaba.com低的!N年以前我看Yahoo北美地区的招聘要求也觉得这怎么可能,今天我花了一个上午在Linkedin上招聘外籍设计师,十年以上设计经验的简历比比皆是,每个人在各项设计能力都有成功案例,甚至在商业和技术领域有成功案例的资深设计师,搜索一下也有不少。 难道老外都是超人,中国人首先自己不能气馁,给自己一个明确的要求,是进步的前提。
当然,我也遇到有应届毕业生,没做过一个网站,看了我们的招聘网站后觉得自己100%符合,在我逐条解释招聘要求后,还觉得自己70%吻合。写个简历一定针对性都没有,还要说自己有营销意识,不但不理解业界和公司的岗位要求,还没有自知之明,这样的人请不要浪费你的和我的时间了。 产生这样的现象,大学教育,设计业界,都有责任,这又是另一个话题,改天再说。
在这里,我要大声说,我们网站上的招聘要求写的轻松,是我们营销意识好,尽量吸引Leads,不是我们对人才的要求低,恰恰相反,据我对国内互联网设计界的了解,要被Alibaba.com认为是优秀设计师,是非常不容易的事情,要不然我们也不会搞近万元RMB的内部推荐奖金了。(插播广告,推荐一位优秀设计师并被成功入用,奖金4000RMB+iPhone)
再说“完善的设计评审体系”,业界有学者在搞量化用户体验的事情,在我看来,价值不大。 首先,设计的好坏,除了用户体验,还有商业利益,技术实现这两个维度需要思考,一个成功的商业设计必然是三方的共赢,单纯从用户体验的维度来看设计的好坏,不具备商业价值。
对于设计师来说,寄期望于三两个用户测试,专家评审来给出完美的设计,那是不可能的,设计的关键在于创新,在于商业利益和用户利益的共赢,这些不是测试和评审能得出的。专家评审和用户测试只能作为辅助设计,考虑易用性问题的手段而已。虽然我们Team现在正在完善设计评审的格式和流程,但每个设计师都清楚这只是寻求团队帮助的一种手段而已。
最后说“严格全面的设计规范”,这点上,我敢说全球的大型互联网公司,正式做的比我们早的没几个。我们起初只是有一个懵懂的标准化模块化设计的意识,等做完了之后才发现米国Yahoo最初做的和我们80%一致,再后来才发现原来我们之前的想法在英文的世界里称之为“Pattern-based design”的理论。
这几年几个版本改下来,在这个每天都有新东西的互联网世界中,我一个强烈的感觉,形神兼备固然好,但两者一定要取其一的话,神更重要。目前我们的设计规范,也同样是让新人快速上手用的,更希望这是优秀的设计师创新设计的一个平台,或者是一个载体。所以,来Alibaba.com UED的话,与其期望严格全面的设计规范,不如期望这里有一个整体改进网站的机会。
OK, 没想到今天能写这么多,就到这里吧,希望本文能对Alibaba.com UED团队的现状有一个准确的描绘,让大家有一个近似的期望值。再次强调,Alibaba.com目前还是一家创业公司,真的,不是谦虚,希望大家能理解。
传说中,你只要在凌晨邀齐两男两女,坐在桥上然后开始做俯卧撑。那么,做到第三个的时候,就能召唤出神龙。为了证明这件事,我们做了一夜的俯卧撑。
为什么是俯卧撑?为什么不是失意体前曲?没有人知道。就像为什么菩提老祖他是葡萄,而一定不是苹果一样,也许就是专门为了下凡打救谁吧?为什么在那样的一个夜晚里,在那样的一座桥上,突如其来的有了做俯卧撑的冲动?
也许是需要个细节,模仿一幅画最需要处理好的就是细节。也许需要个理由,说明青春的躁动可以发生任何事情,包括俯卧撑,包括被自杀。是什么不重要,重要的是所有人做了一夜的俯卧撑,但是没有听到水响。
可以这么学习和理解俯卧撑这种运动:去到一个衣料很少的站点,下载一段视频教材。教材会教导你什么是真正的俯卧撑,它有乘骑位的,也有69式的,还有传教士俯卧撑。传教士也需要做俯卧撑,因为这是上帝的旨意。不做的话,传教士就会绝种。可以想见,俯卧撑的意义何其重大。
虽然俯卧撑如此重要,但是叫我半夜里一个人在桥上自己数着数做,还是会让我觉得很失落,很空虚,很不爽。这是如此的不爽,以至于谁那么说,我都想把他按翻,对住他后面开始狠狠地俯卧撑,看看做到第三个的时候,是否能召唤出传说中的神龙。

经历这一切,我感觉一言难尽,保安全出动了,那些平日里保护我们人身财产安全的保安这一天的职责是防止出现乱子。那些同事走的都很快,不少人都哭了,要知道他们中的很多人都在这个公司工作了2年以上,有些人是毕业之后的第一份工作,甚至有刚刚通过校园招聘进来的孩子。几个月以后的今天,当我找出那些当天晚上记录下来的文字开始写这篇文章的时候,我仍然流泪了。我想无论我如何思考,都无法避免主观的因素,不妨就把我观察到的、感觉到的、体会到的所有事情做个主观的记录。
被裁的很多同事都很爱这个公司,工作都很努力,业务也很专业。他们中的很多人拥有很好的价值观,拥抱变化,信奉企业文化。但,某天某时,上司和HR的人把你叫到一个会议室里告诉你因为公司的业务发展,你被裁员。你的电脑、电话在此时已经被收回,你需要3小时内收拾好所有的私人物品迅速离开公司。我想,无论如何,这都是对自尊心的严重打击。无论如何,做出这个决定的人都是强盗。很多女孩在会议室哭出来,也有些女孩跑到卫生间里面失声痛哭。有些同事刚刚经历了漫长的封闭开发,2个月里面没有节假日的玩命加班,项目完成了,产品准时上线了。没有庆祝会,没有休假,没有奖励,面对他们的是裁员。
我趴在办公桌上,仿佛也等待着那一刻的到来,心里同样很难受。那些被迫离开的人是我的兄弟姐妹,我们一起并肩战斗过,我们有相同的目标和抱负。看着那些或者面无表情、或者哭肿眼睛的同事,我也几乎哭了出来,没有任何前兆,事情非常突然。现在,详细的说说这件事情的始末吧。
早在几天前,部门的老大对我们说了句不明不白的话,意思是公司现在比较动荡,我们部门没事。当时没有意识到公司是要裁员,当时公司的大环境确实比较动荡,以为老大这么说的目的就是稳定我们的工作热情。
裁员当天中午吃了饭回办公室的时候,在电梯里遇到了一群IT部门的同事,推着小推车、拿着对讲机,分楼层的出发。之后又看到老大的消息,告诉我们今天会有一些事情发生,我们部门没事。看到这条消息以后,心里很害怕,大概意识到可能要裁员了。虽然已经得到老大的确认,我们部门没事,但心里还是很忐忑。下午我开了之前封闭开发项目的总结会,这个时间里,裁员已经开始了,和我一起开会的一个负责测试工作的同事也在裁员之列,开总结会的时候一切都无征兆,开完会人就走了。
之后,情况越来越奇怪,开放的办公室里面没有了往日的热闹,很安静。出入各楼层的时候保安一律检查工牌,很多人都低着头看着电脑,IT的同事在各个楼层之间穿梭。我所了解的大概的流程是这样的,接到一个电话,要求马上去某办公室面谈,面谈的对象是直接的老大和HR的人,面谈的内容就是公司要裁员。这时候,IT已经走到工位上把电脑、电话全部收回。每个人可能有10分钟或者长一些的时间,他们告诉裁员、赔偿、手续的有关问题,然后就是签字,然后要求用几小时的时间整理个人物品,迅速离开公司。
人心惶惶自不用说了,很多人都在窃窃私语的道别,更多的人保持沉默。坐在我旁边的同事,下午2点多人就走了,在电梯间遇到他的时候还不知道他已经被裁。看他背着包,也估计出了大概,如梗在喉,最终没有说出什么,只是给他发了个安慰短信。整个下午,只要手里拿着一张纸在公司里走,就有人怀疑并用惊讶的眼光看着你,但是什么都不说,就那么看着你。下午我去找QA的一位MM,叫人家名字的时候吓人家一跳,她以为是有人来通知她收拾东西。
平时雅虎通在线的同事如果白天忽然下线了,就会以为对方是被裁了,这一天有不少同事在白天下线。这一天的天气很冷,我看着那些从此暗淡下去的雅虎通笑脸,我觉得心里也冷。3个小时内能做什么?3小时需要和这个为之奋斗的公司做诀别,没有时间详细的梳理,甚至无法和每个亲密合作过的同事道别。不少同事在IM里面纷纷询问互相的情况,远在杭州的同事也纷纷通过IM询问这边情况。
晚上6点在温特莱A座2楼开大会,公布了新的业务方向和组织架构,留下来的人聚集在一起,茫然的看着台上的人。我想这个时候每个人都在想那些已经离开了的同事,无论台上的人说什么,这样的事情已经发生。虽然台上的人说没有后续的裁员计划了,但谁又关心这些呢?我想,包括我在内的很多同事还没有反映过来,还无法理解刚刚发生的事情,一切都还在混乱中,一切又都好像结束了一样。
第二天,前一天的阴影依旧挥之不去,这时候我觉得自己需要对自己进行一下心理治疗。我开始在网上找和裁员心理治疗有关的文章,我发现我的情况很正常,我觉得压力很大,没有安全感,心里有愧疚感,也有负罪感。不知道那些被裁掉的同事有没有做类似的事情,我自己很大程度上从这些文章里收获颇丰,首先我知道我出现这些心理问题很正常,其次通过阅读我也了解到了一些自我调节的方法。当然,更多的是对公司失去的信心,尽管我努力调节自己,但仍然有一种焦虑挥之不去。这种焦虑就是没有安全感,我总觉得无论自己多么努力,取得什么样的成绩,都还是有可能随时被裁掉。这种焦虑让我无法聚精会神的工作,让我无法全身心的投入工作,让我对公司没有信心,对领导没有信心,对团队和氛围同样没有信心。
后来,我得知裁员的前天晚上HR加班,专门处理裁员的事情。和保安一样,平日里这个为员工服务的部门,成了伤害员工的执行者。没有更多的面谈,也没有心理干预,更没有内部调岗或是工作推荐。HR为一做的事情就是让被裁员工签字,然后让他们离开。还是后来,我逐步的感觉裁掉的都是P系列的同事,也就是都是在底层实际干活的人。只有很少的管理层员工,包括一线主管和经理,管理者自己裁自己,怎么可能啊?留下的很多都是党羽,走的基本是在公司没有根基的人。当然,这些都是后话了,也是没有定论的,只是凭我自己的分析。
我明白出现这样的结果对于一个商业公司来说再简单不过,是完全的商业行为,business is business。我也明白,任何一个人都不会在一个地方呆到老,事情总会变,人总要离开。我想,这样的后遗症可能很难抹掉,我感觉已经无法继续在这个公司里面工作下去,唯一的解脱可能也是离开这个公司。我想,我应该把我经历的这些记录下来,我应该让关系它的人知道。写这些文字的时候我的情绪是激动的,我好像是在惩罚谁一样,我感觉我输入这些文字是铿锵有力的,好像在怒吼着发泄我心中的不满。
再后来,在雅虎的08年年会上,突然出现的马云说了很多话,说到裁员的时候,他说:“我知道”。坐在台下的我心里好像已经无所想了,呆呆的看着他。一致很喜欢听Jack的讲话,振奋人心、有趣,但这次有些不一样。回顾我在雅虎的历程,着实经历了一些变化,拥抱着慢慢发现已经无法拥抱了。
05年12月,我加入雅虎,我对自己说,雅虎,我来了。
07年3月,第一次大变革,我的两位直接领导相继离职,我对龙二说,这很正常。
07年10月,第二次大变革,业务大调整。
08年1月,第三次大变革,裁员。
08年6月,第四次大变革,我离开雅虎。
MySQL在高并发连接、数据库记录数较多的情况下,SELECT ... WHERE ... LIKE '%...%'的全文搜索方式不仅效率差,而且以通配符%和_开头作查询时,使用不到索引,需要全表扫描,对数据库的压力也很大。MySQL针对这一问题提供了一种全文索引解决方案,这不仅仅提高了性能和效率(因为MySQL对这些字段做了索引来优化搜索),而且实现了更高质量的搜索。但是,至今为止,MySQL对中文全文索引无法正确支持。
中文与西方文字如英文的一个重要区别在于,西方文字以单词为单位,单词与单词之间以空格分隔。而中文以字为单位,词由一个或多个字组成,词与词之间没有空格分隔。当试图在一个含有中文字符的字段中使用全文搜索时,不会得到正确的结果,原因在于中文中没有像英文空格那样对词定界,不能以空格作为分割,对中文词语进行索引。
引用《MySQL 5.1参考手册》中的一段话:
● MySQL支持全文索引和搜索功能。MySQL中的全文索引类型FULLTEXT的索引。FULLTEXT 索引仅可用于 MyISAM 表;他们可以从CHAR、 VARCHAR或TEXT列中作为CREATE TABLE语句的一部分被创建,或是随后使用ALTER TABLE 或 CREATE INDEX被添加。对于较大的数据集,将你的资料输入一个没有FULLTEXT索引的表中,然后创建索引, 其速度比把资料输入现有FULLTEXT索引的速度更为快。
● FULLTEXT分析程序会通过寻找某些分隔符来确定单词的起始位置和结束位置,例如' ' (间隔符号)、 , (逗号)以及 . (句号 )。假如单词没有被分隔符分开,(例如在中文里 ), 则 FULLTEXT 分析程序不能确定一个词的起始位置和结束位置。为了能够在这样的语言中向FULLTEXT 索引添加单词或其它编入索引的术语,你必须对它们进行预处理,使其被一些诸如"之类的任意分隔符分隔开。
● 诸如汉语和日语这样的表意语言没有自定界符。因此, FULLTEXT分析程序不能确定在这些或其它的这类语言中词的起始和结束的位置。
国内已有的MySQL中文全文索引解决方案有两个:一是海量科技的MySQL5.0.37--LinuxX86-Chinese+,二是hightman开发的mysql-5.1.11-ft-hightman,两者都是基于中文分词技术,对中文语句进行拆分。但是,两者都有弊端,一是不支持64位操作系统;二是对修改了MySQL源码,只支持某一MySQL版本,不便于跟进新版本;三是词库不能做到很大很全,对于专业性质较强的数据库内容(例如搜索“颐和园路东口”、“清华东路西口”等公交站点,“莱镇香格里”、“碧海云天”等楼盘名称),基于中文分词的全文索引经常搜索不出来任何内容,即使添加分词词库,也不会很全面。
由于业务上精准全文查询的需要,我借鉴了二元交叉切分算法的思想,用自创的“三字节交叉切分算法”,写出了这款“MySQL中文全文索引插件──mysqlcft 1.0.0”。由于开发时间仓促,难免存在未发现的问题,这将后续的版本中不断完善。对于百万条记录的MySQL表进行全文检索,mysqlcft已经够用。
Mysqlcft 网址:http://code.google.com/p/mysqlcft/
Mysqlcft 作者:张宴
一、MySQL中文全文索引插件mysqlcft的特点:
1、优点:
①、精准度很高:采用自创的“三字节交叉切分算法”,对中文语句进行分割,无中文分词词库,搜索精准度远比中文分词算法高,能达到LIKE '%...%"的准确率。
②、查询速度快:查询速度比LIKE '%...%"搜索快3~50倍,文章末尾有测试结果;
③、标准插件式:以MySQL 5.1全文索引的标准插件形式开发,不修改MySQL源代码,不影响MySQL的其他功能,可快速跟进MySQL新版本;
④、支持版本多:支持所有的MySQL 5.1 Release Candidate版本,即MySQL 5.1.22 RC~最新的MySQL 5.1.25 RC;
⑤、支持字符集:支持包括GBK、GB2312、UTF-8、Latin1、BIG5在内的MySQL字符集(其他字符集没有测试过);
⑥、系统兼容好:具有i386和x86_64两个版本,支持32位(i386)和64位(x86_64)CPU及Linux系统;
⑦、适合分布式:非常适合MySQL Slave分布式系统架构,无词库维护成本,不存在词库同步问题。
2、缺点:
①、mysqlcft中文全文索引只适用于MyISAM表,因为MySQL只支持对MyISAM表建立FULLTEXT索引;
②、MySQL不能静态编译安装,否则无法安装mysqlcft插件;
③、基于“三字节交叉切分算法”的索引文件会比海量、ft-hightman等基于“中文分词算法”的索引文件稍大,但不是大很多。根据我的测试,mysqlcft全文索引的.MYI索引文件是.MYD数据文件的2~5倍。
二、mysqlcft的核心思想──“三字节交叉切分算法”

注:本文以0~7数字序号代表“英文”、“数字”和“半个汉字”,以便说明。
1、按三字节对中文语句进行切分,建立全文索引:
例如:“全文索引”或“1台x光机”四个字会被交叉分拆为6份,建立反向索引:
012 123 234 345 456 567
2、按三字节对搜索的关键字进行切分,在全文索引中找出对应信息:
例①:搜索关键字“文索”,用数字序号表示就是“2~5”,那么它将被切分成:
234 345
这样,就与全文索引对上了。
例②:搜索关键字“x光机”,用数字序号表示就是“3~7”,那么它将被切分成:
345 456 567
这样,也与全文索引对上了。
例③:搜索关键字“1台 光机”,用数字序号表示就是“0~2”和“4~7”,那么它将被切分成:
012 456 567
这样,多关键字搜索也与全文索引对上了。
三、编译安装MySQL(如果已经装有不是静态编译安装的MySQL 5.1.22 RC~MySQL 5.1.25 RC,此步骤可省略)
1、下载并编译安装MySQL 5.1.25 RC
在http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.25-rc.tar.gz/from/pick(点击No thanks, just take me to the downloads!链接),选择一个镜像,下载MySQL 5.1.25 RC源码包:
cd mysql-5.1.25-rc/
./configure --prefix=/usr/local/mysqlcft/ --without-debug --enable-assembler --with-extra-charsets=all --with-pthread --enable-thread-safe-client
make && make install
/usr/sbin/groupadd mysql
/usr/sbin/useradd -g mysql mysql
chmod +w /usr/local/mysqlcft
chown -R mysql:mysql /usr/local/mysqlcft
2、创建MySQL数据文件存放目录/mysql/3306
chmod +w /mysql/3306
chown -R mysql:mysql /mysql/3306
mkdir -p /mysql/3306/data
chmod +w /mysql/3306/data
chown -R mysql:mysql /mysql/3306/data
chown -R mysql:mysql /mysql
#cp support-files/my-medium.cnf /mysql/3306/my.cnf
cd ../
3、创建配置文件/mysql/3306/my.cnf
输入以下内容(注意:必须设置ft_min_word_len = 1):
#password = your_password
port = 3306
socket = /mysql/3306/mysql.sock
default-character-set = gbk
[mysqld_safe]
datadir = /mysql/3306/data
log-error = /mysql/3306/mysql_error.log
pid-file = /mysql/3306/mysql.pid
[mysqld]
port = 3306
socket = /mysql/3306/mysql.sock
default-character-set = gbk
#init_connect = 'SET NAMES gbk'
skip-locking
#skip-slave-start
key_buffer = 512M
max_allowed_packet = 2M
table_cache = 1024
sort_buffer_size = 32M
read_buffer_size = 2M
read_rnd_buffer_size = 32M
max_length_for_sort_data = 64
myisam_sort_buffer_size = 128M
thread_cache = 8
query_cache_size = 64M
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 8
#skip-name-resolve
set-variable = max_connections=1000
open_files_limit = 51200
ft_min_word_len = 1
low_priority_updates = 1
slave-skip-errors = 1032,1062,126
server-id = 9
#master-host = host
#master-user = user
#master-password = password
#master-port = 3306
#replicate-do-db = db1
#replicate-do-db = db2
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates
[isamchk]
key_buffer = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M
[myisamchk]
key_buffer = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
附:MySQL配置文件在全文索引应用中的优化
# key_buffer 指定用于索引的缓冲区大小,在全文索引中,增加它可得到更好的索引处理与查询性能
key_buffer = 512M
# sort_buffer_size 为查询排序时所能使用的缓冲区大小,全文索引的SQL语句之后通常会使用ORDER BY排序,增加它可以加快SQL语句执行时间。该参数对应的分配内存是每连接独占,100个连接使用的内存将是32M*100=3200M
sort_buffer_size = 32M
# 对大于可用内存的表执行GROUP BY或ORDER BY操作,应增加read_rnd_buffer_size的值以加速排序操作后面的行读取
read_rnd_buffer_size = 64M
# 如果表出现故障或索引出错,REPAIR TABLE时用到的缓冲区大小
myisam_sort_buffer_size = 128M
# 确定使用的filesort算法的索引值大小的限值
max_length_for_sort_data = 64
# MySQL全文索引查询所用关键词最小长度限制(不要改变这项值)
ft_min_word_len = 1
# 降低UPDATE优先级,设置查询优先
low_priority_updates = 1
4、以mysql用户帐号的身份建立数据表
5、启动MySQL
附:停止MySQL
四、安装mysqlcft中文全文索引插件
1、从命令行登入MySQL服务器:
2、查看MySQL插件目录的默认路径的SQL语句:

3、下载mysqlcft中文全文索引插件,解压后拷贝mysqlcft.so文件到MySQL插件目录
①、32位Linux操作系统:
tar zxvf mysqlcft-1.0.0-i386-bin.tar.gz
mkdir -p /usr/local/mysqlcft/lib/mysql/plugin/
cp mysqlcft.so /usr/local/mysqlcft/lib/mysql/plugin/
②、64位Linux操作系统:
tar zxvf mysqlcft-1.0.0-x86_64-bin.tar.gz
mkdir -p /usr/local/mysqlcft/lib/mysql/plugin/
cp mysqlcft.so /usr/local/mysqlcft/lib/mysql/plugin/
4、安装mysqlcft.so插件
①、从命令行登入MySQL服务器:
②、安装mysqlcft.so插件的SQL语句:
③、查看mysqlcft.so插件是否安装成功的SQL语句:
SHOW PLUGINS;

附:如果要卸载mysqlcft.so插件,执行以下SQL语句(如果已经创建了mysqlcft索引,请先删除mysqlcft索引,再卸载mysqlcft.so插件):
五、为已经存在的表添加mysqlcft中文全文索引
1、创建单列全文索引SQL语句
2、创建全文联合索引SQL语句
六、重建mysqlcft中文全文索引(索引损坏时需要用到)
七、建表时创建mysqlcft中文全文索引+全文搜索测试
1、以latin1字符集为例
USE `mysqlcft_latin1`;
CREATE TABLE `test` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(200) DEFAULT NULL,
`body` mediumtext,
PRIMARY KEY (`id`),
FULLTEXT KEY `title_body` (`title`,`body`) WITH PARSER mysqlcft
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
INSERT INTO `mysqlcft_latin1`.`test` (`id`, `title`, `body`) VALUES (NULL, '北京房价', '北京市统计局、国家统计局北京调查总队近日联合对外发布消息,今年以来,北京的商品房价格一直呈上升趋势,五环路以内住宅期房均价已涨至13754元/平方米。');
INSERT INTO `mysqlcft_latin1`.`test` (`id`, `title`, `body`) VALUES (NULL, '北京中心城区今起可无线宽带上网 奥运期间免费', '新浪科技讯 6月25日消息,北京无线城市一期网络今日起试运行,即日起北京市民和海外游客可以通过无线网络在北京中心城区接入互联网。');
INSERT INTO `mysqlcft_latin1`.`test` (`id`, `title`, `body`) VALUES (NULL, '数据库', '欢迎使用MySQL中文全文索引插件mysqlcft!');
SELECT * FROM mysqlcft_latin1.test WHERE MATCH(title,body) AGAINST ('13754元/平方米' IN BOOLEAN MODE);
SELECT * FROM mysqlcft_latin1.test WHERE MATCH(title,body) AGAINST ('6月25日' IN BOOLEAN MODE);
SELECT * FROM mysqlcft_latin1.test WHERE MATCH(title,body) AGAINST ('北京' IN BOOLEAN MODE);
SELECT * FROM mysqlcft_latin1.test WHERE MATCH(title,body) AGAINST ('北京 宽带' IN BOOLEAN MODE);
SELECT * FROM mysqlcft_latin1.test WHERE MATCH(title,body) AGAINST ('mysqlcft' IN BOOLEAN MODE);
SELECT * FROM mysqlcft_latin1.test WHERE MATCH(title,body) AGAINST ('数据' IN BOOLEAN MODE);
2、以UTF-8字符集为例
USE `mysqlcft_utf8`;
CREATE TABLE `test` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(200) DEFAULT NULL,
`body` mediumtext,
PRIMARY KEY (`id`),
FULLTEXT KEY `title_body` (`title`,`body`) WITH PARSER mysqlcft
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `mysqlcft_utf8`.`test` (`id`, `title`, `body`) VALUES (NULL, '北京房价', '北京市统计局、国家统计局北京调查总队近日联合对外发布消息,今年以来,北京的商品房价格一直呈上升趋势,五环路以内住宅期房均价已涨至13754元/平方米。');
INSERT INTO `mysqlcft_utf8`.`test` (`id`, `title`, `body`) VALUES (NULL, '北京中心城区今起可无线宽带上网 奥运期间免费', '新浪科技讯 6月25日消息,北京无线城市一期网络今日起试运行,即日起北京市民和海外游客可以通过无线网络在北京中心城区接入互联网。');
INSERT INTO `mysqlcft_utf8`.`test` (`id`, `title`, `body`) VALUES (NULL, '数据库', '欢迎使用MySQL中文全文索引插件mysqlcft!');
SELECT * FROM mysqlcft_utf8.test WHERE MATCH(title,body) AGAINST ('13754元/平方米' IN BOOLEAN MODE);
SELECT * FROM mysqlcft_utf8.test WHERE MATCH(title,body) AGAINST ('6月25日' IN BOOLEAN MODE);
SELECT * FROM mysqlcft_utf8.test WHERE MATCH(title,body) AGAINST ('北京' IN BOOLEAN MODE);
SELECT * FROM mysqlcft_utf8.test WHERE MATCH(title,body) AGAINST ('北京 宽带' IN BOOLEAN MODE);
SELECT * FROM mysqlcft_utf8.test WHERE MATCH(title,body) AGAINST ('mysqlcft' IN BOOLEAN MODE);
SELECT * FROM mysqlcft_utf8.test WHERE MATCH(title,body) AGAINST ('数据' IN BOOLEAN MODE);
3、以gbk字符集为例
USE `mysqlcft_gbk`;
CREATE TABLE `test` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(200) DEFAULT NULL,
`body` mediumtext,
PRIMARY KEY (`id`),
FULLTEXT KEY `title_body` (`title`,`body`) WITH PARSER mysqlcft
) ENGINE=MyISAM DEFAULT CHARSET=gbk;
INSERT INTO `mysqlcft_gbk`.`test` (`id`, `title`, `body`) VALUES (NULL, '北京房价', '北京市统计局、国家统计局北京调查总队近日联合对外发布消息,今年以来,北京的商品房价格一直呈上升趋势,五环路以内住宅期房均价已涨至13754元/平方米。');
INSERT INTO `mysqlcft_gbk`.`test` (`id`, `title`, `body`) VALUES (NULL, '北京中心城区今起可无线宽带上网 奥运期间免费', '新浪科技讯 6月25日消息,北京无线城市一期网络今日起试运行,即日起北京市民和海外游客可以通过无线网络在北京中心城区接入互联网。');
INSERT INTO `mysqlcft_gbk`.`test` (`id`, `title`, `body`) VALUES (NULL, '数据库', '欢迎使用MySQL中文全文索引插件mysqlcft!');
SELECT * FROM mysqlcft_gbk.test WHERE MATCH(title,body) AGAINST ('13754元/平方米' IN BOOLEAN MODE);
SELECT * FROM mysqlcft_gbk.test WHERE MATCH(title,body) AGAINST ('6月25日' IN BOOLEAN MODE);
SELECT * FROM mysqlcft_gbk.test WHERE MATCH(title,body) AGAINST ('北京' IN BOOLEAN MODE);
SELECT * FROM mysqlcft_gbk.test WHERE MATCH(title,body) AGAINST ('北京 宽带' IN BOOLEAN MODE);
SELECT * FROM mysqlcft_gbk.test WHERE MATCH(title,body) AGAINST ('mysqlcft' IN BOOLEAN MODE);
SELECT * FROM mysqlcft_gbk.test WHERE MATCH(title,body) AGAINST ('数据' IN BOOLEAN MODE);
八、性能测试报告
服务器:DELL PowerEdge 6850 (四颗双核Xeon 3.0GHz,8GB内存) 4U机架式服务器
操作系统:RedHat AS4 (x86_64位)
数据库:MySQL 5.1.25 RC + mysqlcft 1.0.0
数据表:超过80万条(807346条)记录的表,字段“id”为int类型,主键;字段“title”为varchar类型,字段“body”为text类型。“title”和“body”分别建有INDEX普通单列索引、INDEX联合索引,FULLTEXT单字段全文索引、FULLTEXT联合全文索引。
1、在字段“title”中搜索中文关键字:
30 rows in set (0.04 sec)
SELECT * FROM database.table WHERE title LIKE '%朝阳区%' limit 0,30;
30 rows in set (6.56 sec)
SELECT * FROM database.table WHERE MATCH(title) AGAINST ('通州区' IN BOOLEAN MODE) ORDER BY id DESC limit 0,30;
30 rows in set (0.13 sec)
SELECT * FROM database.table WHERE title LIKE '%通州区%' ORDER BY id DESC limit 0,30;
30 rows in set (8.15 sec)
SELECT * FROM database.table WHERE MATCH(title) AGAINST ('建国门外' IN BOOLEAN MODE) ORDER BY id DESC limit 0,30;
30 rows in set (0.08 sec)
SELECT * FROM database.table WHERE title LIKE '%建国门外%' ORDER BY id DESC limit 0,30;
30 rows in set (5.34 sec)
SELECT * FROM database.table WHERE MATCH(title) AGAINST ('靠近通惠河' IN BOOLEAN MODE) ORDER BY id DESC limit 0,30;
4 row in set (0.06 sec)
SELECT * FROM database.table WHERE title LIKE '%靠近通惠河%' ORDER BY id DESC limit 0,30;
4 row in set (12.88 sec)
2、在字段“body”中搜索中文关键字:
30 rows in set (0.23 sec)
SELECT * FROM database.table WHERE body LIKE '%海淀区%' ORDER BY id DESC limit 0,30;
30 rows in set (15.71 sec)
SELECT * FROM database.table WHERE MATCH(body) AGAINST ('莱镇香格里' IN BOOLEAN MODE) ORDER BY id DESC limit 0,30;
6 rows in set (0.18 sec)
SELECT * FROM database.table WHERE body LIKE '%莱镇香格里%' ORDER BY id DESC limit 0,30;
6 row in set (13.34 sec)
3、在字段“title”和“body”中,搜索包含“西城区”和“商场”两个关键字的记录:
13 rows in set (0.27 sec)
SELECT * FROM database.table WHERE title LIKE '%西城区%商场%' OR body LIKE '%西城区%商场%' ORDER BY id DESC limit 0,30;
13 rows in set (51.74 sec)
Tags - mysqlcft , linux , mysql , fulltext , 全文索引 , 全文检索 , 全文搜索 , 搜索引擎
GMarks can display the bookmarks almost the same as Firefox's native bookmarks: in a separate menu and in the sidebar. There's also a dropdown that can be added to Firefox's toolbars. The sidebar is useful when you want to perform full-text searches in your bookmarks without having to visit Google's site, while the GMark menu has an excellent option for managing bookmarks. If you click on "Organize bookmarks", you'll be able to import bookmarks, edit or delete bookmarks and create Gmail-like filters. For example, you can automatically add the label Google for any bookmark from this blog.

The extension can show the number of bookmarks for each label, a list of recent bookmarks and the most frequently visited bookmarks. To bookmark a page, use the familiar shortcut Ctrl+D or the GMarks menu.
One of the most frequent user requests for Google Bookmarks is nested labels and GMarks uses a little trick to simulate hierarchical labels: separate the labels with >. For example, if you want to label a bookmark as Shopping and Comparison, where Comparison is a sublabel




