文章归档

多维数据查询效率分析

多维数据查询效率分析 前面分析了在PostgreSQL和MySQL中进行多维数据查询的挑战。问题的根本在于,按行存储的数据库在行变得很大(wide table)的情况下,一旦索引无法完成所有的查询工作,就会受到行大小的影响。为了避免按行存储的缺陷,按列存储的数据库就被发明了出来。按行存储的数据库有很多,绝大部分都是要花钱的,开源的有MonetDB。和前面相同的数据量,相同的wide table的表设计,用MonetDB可以快上很多: sql>select count(contact_id) from spike2 where a1 = 7; +——–+ | L24 | +========+ | 830569 | +——–+ 1 tuple (24.576ms) sql>select count(contact_id) from spike2 where a1 = 7 and a2 = 5; +——–+ | L25 | +========+ | 164788 | +——–+ 1 tuple (105.352ms) sql>select count(contact_id) from spike2 where a1 = 7 and a2 = 5 and a3 = 1; +——+ | L26 | +======+ | 4040 | +——+ 1 tuple (24.963ms) 复制代码 从结果上来看,普遍是快上10倍,极端情况下要快上100倍。MonetDB之所以快,除了按行存储之外,还有一个秘诀是它会被SQL编译成小的关系代数操作。简单的关系代数操作就比如加法,这个操作就只做两个集合相加。每个“关系代数操作”都是用C甚至汇编优化的。普通的按行存储的数据库的实现其实是外层有个循环,循环体是一个解释器,解析过的SQL和行的记录是输入。而MonetDB的编译实现方式就避免了在循环里放置一个解释器。这样做的好处是有利于CPU做分支预测。因为解释器的代码相对于硬编码的“关系代数操作”来说要复杂得多,相应的分支预测失败率也高很多。 MonetDB的缺陷也是非常明显的。每个关系代数操作都要把其结果完全计算出来(Materialized),也就是要占用内存。比如你要SELECT A+B+C,那么A+B的每行的结果 …

>>Read more

WordPress自动截取文章段落插件

WordPress建立博客后,你是否遇到过这样的问题,当你发表几篇较长的文章时,你的博客首页就会拉的好长,wordpress里面有个自带的more标记可以截取文章,使用起来有点不方便,还得来回的切换源码格式,实质令人讨厌啊。 wp-limit-posts-automatically插件就是解决这个问题的,安装后可以设置几种方式来进行截断文章,那样,每次发表文章时,就不用再为文章截断的事情而来回的切换源码格式了,下面就来看看此插件的安装及使用吧! wp-limit-posts-automatically插件安装: 下载wp-limit-posts-automatically插件,将压缩包解压后,把文件夹上传到wp-content/plugins/目录下。 登录WordPress管理后台,点击“Plugins”找到上传的插件,激活该插件。 插件激活后,在“Setting”–>“limit-posts-automatically”中设置相关信息,如下图所示(点击查看大图): 在图中基本上把插件的相关功能都有介绍了,这里就不重复解说了,但需要说明的是,由于存在中英文字符的区别,此插件在按照Letter或word格式进行文字截取时,会出现文字长度不对的情况,而且有时还会出现乱码的情况。 为了解决这个问题,国内有位博主对此插件进行了汉化,汉化后的插件完全按照中文习惯,合并了Letter和word的分割方式,让文章正常分割,而且也解决乱码的问题,汉化后的插件使用和英文版的一样,全中文界面使用起来应该更方便。 limit-posts-automatically插件下载地址:点击下载 limit-posts-automatically插件作者地址:点击进入 limit-posts-automatically汉化插件下载地址:点击下载 limit-posts-automatically汉化插件作者地址:点击进入 转帖自:http://www.wordpress.la/wordpress-limit-posts-automatically.html

天天加班的日子真难熬~~~

呵呵,很多辞职的。

网摘

Template Name: single

<?php /* Template Name: single */ ?> <?php get_header(); ?> <?php $options = get_option(‘inove_options’); ?> <?php if (have_posts()) : the_post(); update_post_caches($posts); ?>  <div id=”postpath”>   <a title=”<?php _e(‘Goto homepage’, ‘inove’); ?>” href=”<?php echo get_settings(‘home’); ?>/”><?php _e(‘Home’, ‘inove’); ?></a>    &gt; <?php the_category(‘, ‘); ?>    &gt; <?php the_title(); ?>  </div>  <div class=”post” id=”post-<?php the_ID(); ?>”>   <h2><?php the_title(); ?></h2>   <div class=”info”>    <span class=”date”><?php the_time(__(‘F jS, Y’, ‘inove’)) ?></span>    <div class=”act”>     <?php if ($comments || comments_open()) : ?& …

>>Read more

当我想你的时候

彩虹

全世界你最疼我

如何找到偷你网站内容的贼

哈,很惊悚啊。站长都会遇到这个问题,哪怕是再高明的贼,也怕被别的贼惦记着。 盗取网站内容的贼在网络上多了去了,那么如何找到那些贼呢? 一、原创内容都有自己独特的地方,在搜索引擎中输入一段独有的内容,两边再加上双引号,搜索结果就会告诉你,还有这段文字的网页有哪些。 当然搜索结果中有你的,也有贼的。 二、大多数盗取内容的贼都很懒,因为他一次或许要(采集)盗取几百个页面,他都不会看一看内容,更不会看源码了。 在内容中放一段追踪代码,当然他也不会注意,当你用搜索检索links时,就可以找到那些复制页面(复制内容)。 找到窃取你内容的贼之后,怎么处理呢? 1)找到对方网站的contact页面,联系对方,友好但坚决的要求其把内容撤下。 2)如果没有联系页面,那就通过whois功能,找到站长的地址,联系对方。 3)当然也可以通过whois功能找到对方所hosting 公司,告诉该公司,在他们的服务器上有网站违反了版权。 4)提交DMCA侵权投诉到搜索引擎,要求搜索引擎把对方网站的页面从搜索索引删掉。 5)如果对方有投放Google AdSense,也可以通过DMCA投诉到Google,Google会处理。 作者: David Yin 原载: SEO 网站优化推广 版权所有。转载时必须以链接形式注明作者和原始出处及本声明。

拒绝借口之断绝一切后路必胜

向借口开刀是决定你能否胜出一般人的标志,褪墨最新系列《拒绝借口》。 在美国卡托尔公司的新员工录用通知单上印有这样一句话,“最优秀的员工是像凯撒一样拒绝任何借口的英雄!”世上没有什么是不用费劲就可以自然做成的,假如你想找一百个借口,那么就能找一百个甚至比一百个还要多的借口,这样,你表面上得到些安慰,但你将一事无成!你要想成为一名如卡托尔公司所说的“最优秀的员工”,就应当记住那句话——“最优秀的员工是像凯撒一样拒绝任何借口的英雄!” 有一次,凯撒率领他的的军队渡海作战,登岸后他决定不给自己的军队留任何退路。他要他的将士们知道,这次作战的结果,不是战胜就是战死,所以就在将士们的面前,把所有的船只都烧毁了。像所有名将一样,他有下最后拒绝借口,敢于决定于一瞬间的能力。 有些人往往有这样的借口——“我干不了这个!”所以常导致这种错误:在进行着一件重要的工作时,往往预留两条退路。但是当一个士兵知道虽然战争极其激烈但仍有一线退却之门为他而开时,他大概是不会拼尽他的全部力量的。只有在一切后退的希望都没有的时候,一支军队才肯用一种决死的精神拼战到底。 拒绝借口,就是要断绝一切后路,倾注全部的心血于你的事业之中,抱定任何阻碍都不能使你向后转的决心——这样的精神是最可宝贵的。“在遇到阻碍打击时,因为缺乏坚忍力而后转”,将造成千万个放弃战斗的人的墓碑。 一个人在拒绝任何借口倾注他的全部心血于一个生命的大目标时,在把他生命的火箭义无反顾地直飞向他的事业时,他能产生出一种伟大的力量来,这种力量简直是谁也不能阻挡的。 假使你能养成拒绝借口敢于决定的习惯,你在需要决断时一定能运用最聪明的判断力;因为若是你以为决定是可以伸缩的,是可以重新考虑的,则你将永远不能养成可靠而正确的评判力。 但是在你所下的决定是绝对的最后时,在你再也不去寻找借口、断绝了你的一切后路时,在你知道一个不健全不成熟的判断会使你受到相当的痛苦时,你对于判断一定会十分小心,而你的判断力也自然会随之日渐进步了。但这样你就会越来越出色!请记住卡托尔公司员工通知单上那句话中四个最突出的字——“拒绝借口”。