No results found

【ORACLE】导致物化视图快速刷新变慢的原因和解决

ORACLE物化视图(MATERIALIZED VIEW)有自动提交刷新和手动刷新两种刷新方式,每种刷新方式下有增量刷新(FAST)、全量刷新(COMPLETE)、系统自动判断(FORCE)三种刷新方法。一般而言,增量刷新理论上是比全量刷新要快一些的,但是我发现某些情况下增量刷新将导致基表提交后延迟严重,下面将做一些测试。

【ORACLE】物化视图相关元数据视图字段说明

当需要对物化视图的状态等信息进行查询,监控和管理时,就要用到相关的系统元数据表了,本文介绍了Oracle物化视图相关的元数据系统视图的表结构,这些视图有:
ALL_VIEWS,DBA_MVIEWS,USER_MVIEWSALL_MVIEW_ANALYSISDBA_MVIEW_ANALYSISUSER_MVIEW_ANALYSISALL_MVIEW_AGGREGATESDBA_MVIEW_AGGREGATESUSER_MVIEW_AGGREGATESALL_MVIEW_REFRESH_TIMESDBA_MVIEW_REFRESH_TIMESUSER_MVIEW_REFRESH_TIMESALL_MVIEW_JOINSDBA_MVIEW_JOINSUSER_MVIEW_JOINSALL_MVIEW_KEYSDBA_MVIEW_KEYSUSER_MVIEW_KEYSALL_MVIEW_LOGSDBA_MVIEW_LOGSUSER_MVIEW_LOGS

树形结构数据存储方案(五):区间嵌套

前面的一篇文章介绍了左右值编码,不知道大家注意到了没有,如果数据庞大,每次更新都需要更新差不多全表,效率较低没有更好的方式?今天我们就来研究下区间嵌套法。

区间嵌套法原理

如果节点区间[clft, crgt][plft, prgt]存在如下关系:plft <= clft and crgt >= prgt,则[clft, crgt]区间里的点是[plft, prgt]的子节点。基于此假设我们就可以通过对区间的不断的向下划来获取新的区间。举例:如果在区间[plft, prgt]中存在一个空白区间[lft1, rgt1],如果要加入一个[plft,lft1][rgt1,prgt]同级的区间,只需插入节点:[(2*lft1+rgt1)/3, (rgt1+2*lft)/3]。在添加完节点后我们还留下[lft1,(2*lft1+rgt1)/3][(rgt1+2*lft)/3,rgt1]两个空余的空间用来添加更多的子节点。

树形结构数据存储方案(三):闭包表

将Closure Table翻译成闭包表不知道是否合适,闭包表的思路和物化路径差不多,都是空间换时间,Closure Table,一种更为彻底的全路径结构,分别记录路径上相关结点的全展开形式。能明晰任意两结点关系而无须多余查询,级联删除和结点移动也很方便。但是它的存储开销会大一些,除了表示结点的Meta信息,还需要一张专用的关系表。

宽表和窄表的建设该如何选择?

宽表从字面意义上讲就是字段比较多的数据库表。通常是指业务主题相关的指标、维度、属性关联在一起的一张数据库表。由于把不同的内容都放在同一张表存储,宽表已经不符合三范式的模型设计规范,随之带来的主要坏处就是数据的大量冗余,与之相对应的好处就是查询性能的提高与便捷。这种宽表的设计广泛应用于数据挖掘模型训练前的数据准备,通过把相关字段放在同一张表中,可以大大提高数据挖掘模型训练过程中迭代计算时的效率问题。
————百度百科

【SQL Server】编辑、修改字段说明(备注)

语法

1
2
3
4
5
6
7
8
9
10
11
12
13
sp_addextendedproperty
[ @name = ] { 'property_name' }
[ , [ @value = ] { 'value' }
[ , [ @level0type = ] { 'level0_object_type' }
, [ @level0name = ] { 'level0_object_name' }
[ , [ @level1type = ] { 'level1_object_type' }
, [ @level1name = ] { 'level1_object_name' }
[ , [ @level2type = ] { 'level2_object_type' }
, [ @level2name = ] { 'level2_object_name' }
]
]
]
]

从事技术,坚持写博客的好处?

摘要

  • 1.写博客的担心

今天来谈谈,写博客对我的益处,说起写博客,其实我写博客的时间不长,也就10来个月时间;之前工作的时候,看到同事每天晚上写博客,当时觉得很奇怪,就觉得写这个东西,非常浪费时间,自己知道的好的技术或者是好的技术解决思路,如果分享出去,不是被别人学去了吗等等一系列问题.

  • 2.自己的经历

等写了一段时间博客时,慢慢发现,其实之前的担心的完全没必要,你会的东西,精通的知识,即使分享出去,别人也未必能学的会,即时要学会学透,也是要花费时间和精力的,所以这种担心我们大可不必.人还是要有点分享和谦虚精神的,仅仅是这种只进不出的思想,我想你也很难有的发展!那么写博客10来个时间里,通过写博客给自己带来了哪些方面的提升呢?下面我就结合自己经力来给大家做个详细的总结.

JavaScript :零基础打造自己的类库

前言

在之前的章节中,我们已经不依赖jQuery,单纯地用JavaScript封装了很多方法,这个时候,你一定会想,这些经常使用的方法能不能单独整理成一个js文件呢?

当然可以,封装本来就是干这个用的。放在一个单独js文件里固然不错,其实我们也可以单独整一个js类库,一方面可以锻炼一下自己封装方法的能力,另一方面,也可以将自己学到的东西做一个整理。

出于这个目的,本文将介绍如何封装一个简单的js类库。(当然,只是开一个头,熟悉一下js基础而已。实际使用的话我感觉完全没有必要,因为jQuery已经很强大了,直接使用第三方的就可以)

为什么ETL任务困难

工具繁多

从 DataStage到Kettle, ETL 工具覆盖了商业化领域和开源领域, 价格从几十万到免费,起码有几十种选择。

有人要说了,选择多不是一件好事么?如果再早几年,我会同意这是好事,可到现在,我要说 NO!

前面关于决策思维的博文提到一个论点:相比于普通人做出决策,专家是会直接给一种可行方案还是罗列众多方案类比优劣?

答案是前者,也是我反对选择众多是好事这一论点的依据之一。

从大数据负责人招聘看决策思维

决策是非理性的

我们受到的教育是要理性思考,理性决策,信奉理性至上的思维模式。可惜的是现实并非如此,绝大多数的决策都是采用自然主义决策方式,而情景模拟又是其主流方法。对此感兴趣的朋友建议查看亚马逊近期榜单作品《如何做出正确决策:直击决策真相》了解更多。

简而言之,无论是紧迫条件的救火队员还是军事要务的重大决定,决策的真相都如同我们前面介绍的方式:脑海中假设一条可行道路,一步步证明它是可行的。

说到专家和普通决策的区别,大家还是要注意这个真相:专家决策都是迅速定下一条可行方案,而非拿出多套方案理性对比!

是时候管理你的知识了

今天饶有兴趣的了解了PKM,深感做好PMK还真不是件容易事。从小到大,我们都说学习知识,也就说明知识并不会简单的成为自己的东西,知识在成为自己的之前的身份是信息。从信息转化为自己的知识是有一个过程,这就是自己的思考、总结、应用以及分享。

所以也就不难理解,从小到大,我们在学习之后要做练习,学是我们接收信息的过程,习则是引导我们进行思考然后运用的过程。现在回想起来,这一路学习知识的过程总少了一点什么,是的,我们做了很多练习,背了很多东西,然而知识在成为了自己的之后却很快又溜走了,时间长了就遗忘了是一个因素,另一个重要的因素是没有将知识管理起来的思想,他们大多成了我们脑海里的碎片,彼此没有关联。

Play Framework 2.5 环境搭建与新建项目(一)

简介

Play Framework是啥?引用下百度百科的说法:

Play!是一个full-stack(全栈的)Java Web应用框架,包括一个简单的无状态MVC模型,具有Hibernate的对象持续,一个基于Groovy的模板引擎,以及建立一个现代Web应用所需的所有东西。

当然,这个介绍是比较旧的,对于老版本的Play!,这么说没毛病。进入Play!官网看看,满眼的绿啊,有一股清新之感呐。版本都到2.5.8了。追溯1.0版本都是在2010.07.28发布的,到现在已经有6年时间了。

|