原创 Oracle TX鎖(事務鎖)

也叫事務鎖。每個事務只能有一個。 每個事務對應該一個TX鎖,在該事務中修改或者select for update的每一行都會指向這個鎖(數據塊的結構中有相關的標誌)。 如果一個事務想修改的某條記錄已經被另一個事務鎖住,那麼這個

原创 Oracle SQL高級編程——分析函數(窗口函數)全面講解

參見《Oracle SQL高級編程》 概述 分析函數是以一定的方法在一個與當前行相關的結果子集中進行計算,也稱爲窗口函數。 一般結構爲 Function(arg1 , arg2 ……) over(partition by cl

原创 Oracle 塊頭的事務槽

INITRANS 初始個數,默認爲2,每個塊會預分配2個事務槽。 MAXTRANS 事務槽的最大個數,爲255(新版本已經不可設置了)。 事務槽的增加是需要空間的,如果塊上空間不足,事務槽的數量將達不到255。 每個事務槽代

原创 Oracle SQL高級編程——Model子句全解析

參見 《Oracle SQL高級編程》。 第一個例子,初步認識 SH@ prod> col product format a30 SH@ prod> col country format a10 SH@ prod> col reg

原创 Oracle SQL高級編程——位圖聯結索引

參見《Oracle SQL高級編程》 一個典型的數據倉庫查詢: 這個查詢中sales 是事實表 , 一般很大。 Products , customers , channels是維度表 , 一般很小,可以有冗餘。 SH@ pro

原创 Oracle優化——外聯結的執行計劃

外聯結不要使用Oracle自有的方式在where條件中加(+),而要用ANSI的方式(… OUTER JOIN)。Oracle的方式不支持全外聯結,而且存在詭異的BUG。 左外連接與右外連接時,Oracle會把返回全部記錄的表做爲驅動表,

原创 hive GenericUDAF中的四種模式解析

模式的定義 apache-hive-1.2.1-src\apache-hive-1.2.1-src\ql\src\Java\org\apache\Hadoop\hive\ql\udf\generic\GenericUDAFEval

原创 Oracle SQL高級編程——子查詢因子化全解析

參見《Oracle SQL高級編程》。 概述 子查詢因子化就是ANSI中的公共表達式。 從11.2開始,子查詢因子化開始支持遞歸。可以實現CONNECT BY的功能。 標準的子查詢因子化的例子 這是一個非常複雜的查詢,下面是不加

原创 Oracle優化——星型聯結轉換(star_transformation_enabled)

參見 Oracle性能優化求生指南。 另外請了解位圖聯結索引,此類問題的最佳實踐。 這是一個星型聯結的例子,sales爲事實表,其它爲維度表。Where條件全部都作用在維度表上面。 SH@ prod> select quantity_s

原创 Oracle優化——如何查看語句的準確的執行計劃(explain plan可能不是真實的)

參見 Oracle性能優化求生指南。 建虛擬索引 HR@ prod> create index test_ix1 on employees4 ( employee_id ) nosegment; HR@ prod> alter sessi

原创 Golang的Kafka 框架支持consumer group

golang的kafka 框架有很多種, sarama是一種比較常用的,是用golang寫的,但是不能支持consumer group。 confluent是一種,是調用c語言的庫librdkafka,可以支持consumer g

原创 Jupyter環境的搭建以及相應的Dockerfile

pip install jupyter jupyter notebook --generate-config #生成密碼,用於遠程登陸 python -c "from notebook.auth import passwd;

原创 Ubuntu配置golang gin的環境以及相應的Dockerfile

apt-get update -y apt-get install -y wget wget https://dl.google.com/go/go1.12.5.linux-amd64.tar.gz tar -C /usr/lo

原创 面向對象設計的7大原則

7大原則 1.開閉原則 2.里氏替換原則 3.依賴倒置原則 4.單一職責原則 5.接口隔離原則 6.迪米特法則 7.合成複用原則 開閉原則的定義 開閉原則(Open Closed Principle,OCP)由勃蘭特·梅耶(Ber

原创 Java Servlet版HelloWorld

在ideal中創建一個maven工程,不選工程模板 寫一個簡單的響應GET請求的servlet import java.io.*; import javax.servlet.*; import javax.servlet.http