SQL优化之博客案例

问题背景:
博客首页随着数据量的增加,最初是几百上千的数据,访问正常,这是开发环境,当切换测试环境(通过爬虫已有数据六万多),这时候访问非常缓慢,长达一分钟。

Drools之规则中级语法

一、package说明

package是定义在规则文件首行的,也是规则文件三大模块之一。
package为规则逻辑路径,定义时可不与物理目录相同,但为了更方便管理,强烈建议与物理目录同步。
package包含import、global、function、query、rule、EOF。
其rule是贯穿整个规则文件的核心,介绍的pattern、运行符、约束连接、规则属性等都是rule中的内容。

介绍package时不得不再次说明kmodule.xml配置,当配置文件中的KieBase设置package路径,则当前路径下的所有规则相关文件(规则文件、决策表、领域语言文件等)都会被加入规则库中,但当前路径下子文件夹的规则相关文件不包含在当前规则库中。

package参数本身是一个命名空间,并且不以任何方式关联文件或文件夹。因此,可以由多个规则目录为规则库构建源组合规则,有一个顶级的package配置,所有的规则都在其控制之下(在组合规则时)。虽然声明在不同名称下的资源不可能合并为同一个包,但是单个规则库可以用多个包来构建它。也就是说,packages可以设置多个路径,并通过逗号分隔,但这是对配置文件packages而言的。

二、global全局变量

全局变量是一个很有用的元素节点,它是通过关键字global class(对象类型) name组成的。class可以任意的,能为规则提供操作数据或服务等功能,特别是在规则RHS部分中使用程序提供的服务功能,如在RHS部分添加日志功能、修改数据表、发送E-mail等。

global全局变量与Fact(事实)对象不同,不会因为值变化而影响到规则的再次激活。

《跟小贤学运营》之从初级到高阶,运营的进阶之路

一、读懂高阶运营岗位,看看自己离它有多远

1.初级运营和高阶运营的区别

不管是初级运营还算高阶运营,我们都有3个共同的目标:拉新、留存、促活。

初级运营与高阶运营的能力区别

  • 初级运营:技能单一、思维局限、信息无效、人脉缺乏、资源少、价值非显著。
  • 高阶运营:技能多样、思维发散、信息优质、人脉丰富、资源多、价值显著。

2.高阶运营是一种怎样的工作体验

以阿里的高阶运营(休闲生活类)工作为例,需要做如下几个方面?

  • 用户运营:拉新、留存、唤醒、分层等。
  • 服务者运营:招募、关系维护、成长体系等。
  • 内容运营:建设长期稳定和高质量的内容输送体系、自媒体运营等。
  • 活动运营:线上/线下的活动策划、执行、推广等。

《架构整洁之道》之组件耦合

一、无依赖原则

组件依赖关系图不应该出现环。

我们一定有过这样的经历:

当你花了一整天的时间,好不容易搞定了一段代码,第二天上班时却发现这段代码莫名其妙地又不能工作。这通常是因为有人在你走后修改了你所依赖的某个组件。这种情况叫做”一觉醒来综合症”。

Drools之规则属性

一、属性no-loop

默认值:false
类型:Boolean
属性说明:防止死循环,当规则通过update之类的函数修改了Fact对象时,可能使规则再次被激活,从而导致死循环。将no-loop设置为true的目的是避免当前规则then部分被修改后的事实对象再次被激活,从而防止死循环的发生。