|
Java电子书:PostgreSQL修炼之道:从小工到专家(第2版) 格式 pdf 电子书 PDF 电子书 Java吧 java8.com! F, B7 K2 H& d! }. f- I: U8 Z
0 A7 ~& Z8 g6 k
; d2 N6 ?/ @- {; M. X) x% _$ @ |
编号:mudaima-P0362【Java吧 java8.com】
& w# b) K1 {9 a- u4 Y' e- c- X& D( I: l" d9 w4 W! }+ z
# ?* }# d$ B# i% q/ w
7 {& L- W2 G+ U" D5 z- A+ {
Java电子书目录:篇 准备篇
1 J) ]9 l. c; R+ S第1章 PostgreSQL简介 2% \* ^7 J/ d }8 @
1.1 什么是PostgreSQL 2$ C" D; `$ \" k
1.1.1 PostgreSQL的发展历史 2
/ Q6 E" K4 o, i1.1.2 PostgreSQL数据库的优势 4
5 o0 O8 Y2 v0 @2 v# F3 d2 i1.1.3 PostgreSQL应用现状和发展趋势 5& b! t2 `3 D3 `
1.2 PostgreSQL数据库与其他数据库的对比 6
+ `- E; n3 ~* S# q1.2.1 PostgreSQL与MySQL数据库的对比 6
4 }! l8 v6 _- b1 v7 ]9 y1.2.2 PostgreSQL与Oracle数据库的对比 8
/ H) k4 z7 H; Q: u2 {1.3 小结 8( y6 e3 v0 U) C! I" [
第2章 PostgreSQL的安装与配置 9
2 F! C# T; w0 I! M2.1 从发行版本安装 9
E1 y6 F! R1 d& K* N$ \2.1.1 Red Hat/CentOS下的安装方法 10
' V/ N2 Z% \% c; L2.1.2 Windows下的安装方法 12+ e/ K" [7 q' i& E3 D% o3 S
2.1.3 从发行版本安装总结 18
* B/ W# ^) y: k+ w5 V2.2 从源码安装 18
& X3 ~ i7 h7 E# j! v2.2.1 编译安装过程简介 18$ L2 e/ ^3 ]. U. G k
2.2.2 下载源代码 18. [, ` }# a! P- P; c
2.2.3 编译及安装 20. N# P* P! c& e' u- ]" U
2.2.4 PostgreSQL的配置 22
( G0 D, T- }* V$ B* W6 J2.2.5 创建数据库实例 23% A/ A( i- r; U" O+ d
2.2.6 安装contrib目录下的工具 237 G9 o8 Z/ k& w! `6 E4 A+ M' J i+ l
2.2.7 启动和停止数据库 231 D, s5 O' Y& X. i3 W G" o! U4 a. t3 }
2.2.8 编译安装过程中的常见问题及解决方法 24% R' J& _" i, c+ @% j3 [2 O$ c
2.3 PostgreSQL的简单配置 25& m8 \# D- d4 w
2.3.1 pg_hba.conf的配置 26
9 b) W7 k3 n2 Q2.3.2 修改监听的IP和端口 26# m: S) F) P8 \: Y, N6 M# r @
2.3.3 数据库日志相关参数 260 F0 R1 F. r [: G
2.3.4 内存参数的设置 27! L/ r& ]* T* ]) i' B
2.4 PostgreSQL的安装技巧 27
! [7 {* E4 x4 a0 V/ @' U2.4.1 不想把数据库实例创建到“/var/lib/pgsql”目录下 27! @% {" ^, L: o- J5 [4 n
2.4.2 如何使用较大的数据块提高I/O性能 299 A5 q0 W( K+ V! J. y3 M; d2 \
2.4.3 打开数据块的checksum功能 29
! j+ C: I; ~0 \# q9 Q9 Z2.5 小结 30) O$ t% J, e* ]" y* X
第3章 SQL入门 31# ^! O0 y S" u
3.1 SQL语句语法简介 31. i) H! d; W/ }% D
3.1.1 语句的分类 31
$ B4 u- T! T! V0 w, n( A* V3.1.2 词法结构 31( b( ?2 j5 Q3 k. \+ |, g
3.2 DDL语句 32 `/ q1 _' y1 m( e3 C3 E; f
3.2.1 建表语句 325 d/ c$ W, V8 j- r9 t6 F" }& N
3.2.2 删除表语句 34
D$ [6 X; C# ^7 C+ m% m( \1 O3.3 DML语句 341 | c' U4 W. h5 f5 k
3.3.1 插入语句 34
& q- L# N. o( |( P3.3.2 更新语句 35
' B$ u' l7 ~. [! r! f+ \- ~1 O" L3.3.3 删除语句 35
9 r/ w# R; f6 G$ R/ F8 R; E; g) ~3.4 查询语句 369 I) ]& s( t: t z4 K# c: j% \
3.4.1 单表查询语句 36- ]2 E! d* b5 J7 f2 g- U
3.4.2 过滤条件的查询 368 w9 G7 q% _, o# H
3.4.3 排序 37
9 g' \4 _2 ]! W1 P3.4.4 分组查询 38
6 n% b8 \4 {5 {) ?1 m' r; l3.4.5 多表关联查询 38
" r; D {3 I0 ^4 p' P3.4.6 子查询 40
4 b8 {: i; a3 s7 v; Q3.5 其他SQL语句 423 y9 |" O2 ?. F9 y+ b
3.5.1 INSERT ... SELECT语句 42
$ y( [& O& r! @- C, G/ R; h3.5.2 UNION语句 42# l' K, m) w% V/ b& y. e2 u
3.5.3 TRUNCATE TABLE语句 43
z0 t4 X: L) A. M/ g3.6 小结 43
h; C7 t. t& r# K; E% t; \0 i第二篇 基础篇
' w" T k- r# P' m第4章 psql工具 466 _! R$ O9 D, f
4.1 psql介绍 46/ z+ I" v/ _! Z
4.2 psql的简单使用 46/ C/ P* X9 \( e
4.3 psql的常用命令 48
+ c# V+ V E: \: P4.3.1 “\h”命令 49
; t1 P9 L+ V+ i5 T+ W1 W. Z4.3.2 “\d”命令 49& M$ N' F& ^6 u7 f4 x
4.3.3 指定客户端字符集的命令 52' ^! c. w6 p: q3 |! F$ c# f' t
4.3.4 格式化输出的\pset命令 52
/ G9 A6 `$ l T$ F8 b* }4.3.5 “\x”命令 55' b4 J& D' ?5 v5 E- a
4.3.6 执行存储在外部文件中的SQL命令 564 [* Q w# o+ u8 j5 Y) X4 P1 U
4.3.7 编辑命令 56 ?4 a7 s( Q4 p& z. v5 o
4.3.8 输出信息的“\echo”命令 573 g( ^# p& t" W: u% P
4.3.9 其他命令 58
V$ H0 O8 J. J; q+ J7 D4.4 psql的使用技巧 590 ]- k7 A2 h" |
4.4.1 历史命令与补全功能 593 Z4 s% o1 l& x ]; `
4.4.2 自动提交技巧 59" r7 _6 T; ~7 N5 `' w* U, i- {; O
4.4.3 如何得到psql中快捷命令执行的实际SQL 60
D& x8 Z n( _7 ]& P4.5 小结 627 _# |, ]( r7 D! x
第5章 数据类型 63
2 r# \( j/ t# q- i& _! `5.1 数据类型介绍 63$ S6 V8 I, D3 r0 Q+ @1 Q! L
5.1.1 数据类型的分类 63, x8 u7 p- e* @2 j, A: L- Z
5.1.2 数据类型的输入与转换 65
( Z O: e# `$ T$ V$ Y5.2 布尔类型 653 }% u' E' d* I1 U7 H+ x, r. h
5.2.1 布尔类型介绍 65
* y( f1 j) A* R" y3 l* G5.2.2 布尔类型的操作符 67
, `. A, [" _0 w8 u. W+ j* s5.3 数值类型 685 l8 ^, m5 j O) t4 G% D
5.3.1 数值类型介绍 68
* ?. K4 S; |$ m `# j+ X5.3.2 整数类型 68! r; p4 O4 V! B8 e R
5.3.3 精确的小数类型 69 g! j1 c) p9 K1 ]1 y4 t
5.3.4 浮点数类型 70
3 m d* u( G( ?2 w/ k9 I5.3.5 序列类型 700 f) }5 y- j! t. }. _! c
5.3.6 货币类型 70: v0 x" a8 X& j& j) n
5.3.7 数学函数和操作符 71
! B$ G( R v6 L7 l, Y5.4 字符串类型 73
9 o- ?" i: z' Z2 s5.4.1 字符串类型介绍 73
* H g3 j O7 b& L( A; [5.4.2 字符串函数和操作符 73+ L5 U7 t7 A) s
5.5 二进制数据类型 76' [+ J6 L+ N7 j3 e# \$ L# d
5.5.1 二进制数据类型介绍 76
; V' ^, `& ^+ V# g1 e$ @0 l5.5.2 二进制数据类型转义表示 76' V8 s2 j. X+ r# O, r. l
5.5.3 二进制数据类型的函数 778 Y9 ]4 Y! w* j8 f" Y3 s1 j
5.6 位串类型 78
6 q' H( T: o" A( [7 e5 {5.6.1 位串类型介绍 78
- [4 ~9 Y+ m1 l$ W5.6.2 位串类型的使用方法 78; O6 v: l- m0 m; I) R( p
5.6.3 位串的操作符及函数 79
& q# w% ~* k5 x- Y5.7 日期/时间类型 80
( e3 H" C. x# G6 [5.7.1 日期/时间类型介绍 80& \9 b; s+ s/ C5 `( z
5.7.2 日期输入 81
6 z. Q" M$ l# E) B5.7.3 时间输入 82
5 f1 ]0 N" G( b8 \+ Q$ G( @" [/ ^" e7 i5.7.4 特殊值 84
* C% s; N8 Y7 e' R9 ~" i/ u1 e5.7.5 函数和操作符列表 84$ V) q8 T3 v" o7 N" q& n
5.7.6 时间函数 85
& W x* z. z7 E& |8 j5.7.7 extract和date_part函数 89
6 r$ Y. p9 H+ L, c0 w6 T5.8 枚举类型 90
% b5 R* B6 X+ Z6 n0 I* C& L$ z5.8.1 枚举类型的使用 90
2 t) X, o6 e) _, i7 f5.8.2 枚举类型说明 915 ^8 |; u0 w; S) K
5.8.3 枚举类型的函数 92
* m1 j0 m. y" \$ G- F. X4 U. j: l5.9 几何类型 92
0 ~; ~( J) \6 w8 \) g5.9.1 几何类型概况 93
7 u6 Z) `# g# k8 ~# d/ g) g5.9.2 几何类型的输入 93( m {! ^; Z! L/ i0 \: a
5.9.3 几何类型的操作符 98! N+ F6 j$ d( \9 u- f4 p
5.9.4 几何类型的函数 106
: f) Y" O/ n- }5.10 网络地址类型 1077 o) ^( q, P t) _
5.10.1 网络地址类型概况 107
: k: [5 t$ H4 L: S1 q& H5.10.2 inet与cidr类型 107
; C: \* e% y9 c+ l/ H6 M5.10.3 macaddr类型 110
4 Q5 [! l% ^" H. N! c% o: Q5.10.4 网络地址类型的操作符 110( M6 I1 \1 q/ G4 M" u V
5.10.5 网络地址类型的函数 111
7 Q$ p, C- O. u5.11 复合类型 112
7 D( a. O6 l2 a+ _5.11.1 复合类型的定义 1129 d5 A( E, D! l, |7 l! g
5.11.2 复合类型的输入 113
' F+ ~; A5 d1 _5.11.3 访问复合类型 114
/ _, D7 i+ I- q5.11.4 修改复合类型 114$ R6 m$ X$ Y! u% Z: ?5 n' w' q c
5.11.5 复合类型的输入输出 115
m, o7 W- @ s0 M' b# {5.12 xml类型 116
0 O- J% k0 F) K3 ]% f1 V4 o5.12.1 xml类型的输入 116
$ J1 x5 S+ i' I& ?; R5.12.2 字符集的问题 117
% Q$ U' F( d* n. z5.12.3 xml类型函数 1186 n" I& g( V5 G
5.13 JSON类型 124) a% P% I! D/ S" @7 l6 x5 }4 J
5.13.1 JSON类型简介 124
/ V+ M' s! F; I2 l X5.13.2 JSON类型的输入与输出 125/ x! S; A, g1 {+ O3 m% }% D
5.13.3 JSON类型的操作符 126
1 Y7 R+ x0 p" o* d3 K5.13.4 JSON类型的函数 127
6 I# O% e4 o' Q/ V5.13.5 JSON类型的索引 1329 S2 {2 }9 k5 [/ X
5.14 Range类型 136
0 H7 t, } d2 p5.14.1 Range类型简介 136- y6 N' E7 J7 Q& Q4 L2 f% V; Q8 f
5.14.2 创建Range类型 138% p- w; `, O+ L' J; i& q
5.14.3 Range类型的输入与输出 138
+ D- a4 j0 W, Q, B/ r5.14.4 Range类型的操作符 141
j0 F* |( S. U% S: }2 |7 S5.14.5 Range类型的函数 142! P9 k3 A- w/ |1 D; M: t8 l
5.14.6 Range类型的索引和约束 142
8 g, w1 n0 X( r! g+ {5.15 数组类型 143
6 h" \; b3 p# ~2 ?1 t5.15.1 数组类型的声明 143
* c$ Z; H3 g: O4 F5.15.2 如何输入数组值 144
+ p7 l5 C( G" |$ m, M5.15.3 访问数组 146* }1 c9 E3 i- j
5.15.4 修改数组 148% o+ |! e5 |2 e* q
5.15.5 数组的操作符 149
& d6 |- W* T3 a& E5.15.6 数组的函数 151
5 \: Q6 H. ~3 y% Z' }4 o. P5.16 伪类型 153
, f# b5 D, p& d0 P$ i4 D5.17 其他类型 154: [) B& D+ R: t
5.17.1 UUID类型 154
/ K. w* H2 Q4 v" N5.17.2 pg_lsn 类型 154$ _) v: V+ e5 \/ E) @8 i2 o4 X0 S: ]
5.18 小结 155
1 n% ~( T8 }4 g/ m0 Q* P8 O3 b0 I第6章 逻辑结构管理 156& N/ A! Q1 ~- j
6.1 数据库逻辑结构介绍 1565 T$ _# b4 ]' _+ r T( V
6.2 数据库基本操作 156: @1 G/ M+ z3 P/ e+ Z: R
6.2.1 创建数据库 156
2 v* q- h# A& F5 o8 t6.2.2 修改数据库 157
x: O q* C& c3 e( u& X' c6.2.3 删除数据库 1587 H7 n2 A3 ~6 C8 q6 n
6.2.4 常见问题及解答 158. ?0 }, u' N* j+ Q
6.3 模式 1595 S0 ?, [2 [ _9 ?
6.3.1 什么是模式 159
& `* E2 C' x7 Y! P/ T6.3.2 模式的使用 159
; b$ t- c3 E7 }" C' S8 _! |6 H; s6.3.3 公共模式 161
$ @ ? v2 {- f* R$ W6.3.4 模式的搜索路径 161
) ]1 X* |4 ^; A# t. U' X) F0 U4 b6.3.5 模式的权限 1627 B0 J( i4 n4 F) h6 }$ [ b: [
6.3.6 模式的可移植性 162
$ h w+ W2 a5 N0 u6.4 表 163
/ o: q. ]& h. K* \ X6.4.1 创建表 163
# a$ n) |) N1 n1 L# b0 S, p1 C6.4.2 表的存储属性 165
3 J3 l9 ?& R! R; a6.4.3 临时表 167$ k0 C7 V, G( v# D
6.4.4 UNLOGGED表 170$ \. T1 R5 G6 W! x
6.4.5 默认值 170
1 T7 Q/ I7 c+ b" `9 I( @/ P6.4.6 约束 171) _; h+ y$ \! ^0 ?8 a' I0 l3 v
6.4.7 修改表 175' e0 b. Z/ u. i( @ l0 `
6.4.8 表继承 179
# ~" G, x9 @, K$ ?: n2 X4 W6.4.9 通过表继承实现分区表 181
% K" ^& @2 ^, @( Y% Q; Z+ e6.4.10 声明式分区 186
1 o. l6 z( v& y* Q9 I. w; _+ t; m6 w6.5 触发器 188
: ^" G* S9 [& h/ R( s: N6.5.1 创建触发器 189
6 w: y" U/ g I; d5 a3 g6.5.2 语句级触发器与行级触发器 190
1 X6 l, `$ m/ R( ?6.5.3 BEFORE触发器与AFTER触发器 193
! i7 A$ S# ]7 {6.5.4 删除触发器 194
/ X0 D/ w5 \- k8 w6.5.5 触发器的行为 1941 D o, {: c( a' G7 }
6.5.6 触发器函数中的特殊变量 1954 G& R& n5 V7 _* Z
6.6 事件触发器 196
3 W( B+ Z; d& @1 N: ^1 O0 I% r6.6.1 创建事件触发器 198/ E! v$ T. m) J8 d
6.6.2 修改事件触发器 2019 q% z, Y. `* s9 t
6.7 表空间 201. g3 n, P/ w+ |/ w4 K; V
6.7.1 什么是表空间 201# D( D+ v( ?& I$ F5 F, R
6.7.2 表空间的使用方法 201. a9 a& ?6 C% ]0 s- W& d/ \& i
6.8 视图 202: l, N+ S' u/ ?0 c
6.8.1 什么是视图 202
( b+ p, W# W9 w; @1 d4 y) `+ g6.8.2 创建视图 203* u! ^% f/ H: a, |* o
6.8.3 可更新视图 204
9 E6 B/ {/ }+ u) M R6.9 索引 207 D) c! I1 }' r( g' a: o
6.9.1 索引简介 207 ?2 _' e$ n1 e3 A9 f6 G- O
6.9.2 索引的分类 2077 c. B5 B+ v% V0 Y; p
6.9.3 创建索引 208
3 V. ^: _3 j' N6.9.4 并发创建索引 2098 a7 ]1 @; ~2 u+ B1 }( a- U0 ]0 U
6.9.5 修改索引 211+ A& n% P& U$ W
6.9.6 删除索引 2123 `" X) {8 Q6 h4 F! c1 A; A! h
6.10 用户及权限管理 213; Q5 M( d+ W# K
6.10.1 用户和角色 213
) |6 M& y: J# A L% }6.10.2 创建用户和角色 213
0 J: ^. _ r! b6 x$ C9 }7 z$ A7 V6.10.3 权限的管理 214
7 @+ p* l4 H6 {9 A7 m$ U2 h5 y6.10.4 函数和触发器的权限 219
) u9 u3 k$ S3 i! N% {6.10.5 权限的总结 220
, l5 E- s3 ?9 R) a( F! J& v6.10.6 权限的示例 220
! D( T. ?! Q7 t2 A+ L) J. ^6.11 事务、并发和锁 220
" B+ m+ w/ O! j- _/ `$ ^- R6.11.1 什么是ACID 221
! h5 A6 k6 Z% k& Z6.11.2 DDL事务 221
4 P n$ E8 f3 i- F6.11.3 事务的使用方法 221
' T5 ~& S! N/ f# Y$ J% J" f, s5 [6.11.4 SAVEPOINT 222
+ f6 I! j o- m! M$ h* n& S6.11.5 事务隔离级别 2249 m. h) v$ ?/ R% X( _: @+ G# c
6.11.6 两阶段提交 225. J0 z% L) X+ a3 w! Q
6.11.7 锁机制 226
) M' I, C F9 B( N/ R: p4 H6.11.8 死锁及防范 2302 p* _8 Z/ x7 I6 ?1 v# u
6.11.9 表级锁命令LOCK TABLE 2301 O5 q |& {7 I: `$ w; Q
6.11.10 行级锁命令 231
+ k# Z; o9 ]3 ~0 o0 H. g6.11.11 锁的查看 231
+ j7 e/ b. S# x/ ~: v+ p4 }: x6.12 小结 2382 h: [$ m$ ^/ O+ V, |% u: {5 {
第7章 PostgreSQL的核心架构 239/ r7 i: k! |- ?8 w
7.1 进程及内存结构 239; E9 T+ S5 E* x+ ?5 a& K0 O8 s
7.1.1 进程和内存架构图 239
- X# r% k) M% Q0 c- c: R# @9 a& I7.1.2 主进程Postmaster介绍 240% X" j' T+ D. L
7.1.3 Logger系统日志进程介绍 241: J, Y3 ?1 w+ R! ]* d! V# \
7.1.4 BgWriter后台写进程介绍 2416 N, c8 s' Z- o6 w# E
7.1.5 WalWriter预写式日志写进程介绍 241! `' P" x( M+ C
7.1.6 PgArch归档进程 2427 W. c* `1 h, X& o9 V
7.1.7 AutoVacuum自动清理进程 2427 j, s' J7 F' h& [9 C0 `! S
7.1.8 PgStat统计数据收集进程 2429 N w% `' V. H- C) |5 q
7.1.9 共享内存 242( R. `6 P2 v8 x" f
7.1.10 本地内存 243
6 v4 v' s* p0 U) a7.2 存储结构 243/ ?" m9 a/ L; A; g( ~- t/ C
7.2.1 逻辑存储结构 2438 r ]! b0 J3 B5 |
7.2.2 软件目录结构 244
1 p8 s L- I& `+ W! g7.2.3 物理存储结构 2446 d5 W }5 C& I1 I# G- k
7.2.4 表空间的目录 246- ^6 t! J( i7 V+ U1 H
7.3 应用程序访问接口 247
. n, G0 o+ ~; }# i2 Y' y& y7.3.1 访问接口总体图 247& r$ f+ A; S1 Q+ P$ A4 u
7.3.2 不同编程语言的PostgreSQL驱动介绍 248/ o! B9 }. I: F& I
7.4 小结 2499 y( Z; c+ L& Z: ^
第8章 服务管理 250
& r. t! Y+ A* k6 k8.1 服务的启停及原理 2501 D) I6 y5 z* J/ ?" t
8.1.1 服务的启停方法 250
+ [. E+ E5 K- p4 D$ w0 r- H+ H8.1.2 pg_ctl工具 251
7 b2 |& ]- K' `- `. y8.1.3 信号 255* x8 Q# Q$ W( j% I/ N& ~3 u
8.1.4 postgres及单用户模式 2555 ~, Q4 ?* E: Q% y7 O, C8 I5 u
8.2 服务配置介绍 256
N2 ?- p# ~5 V4 s) X8.2.1 配置参数 256
7 N A- ~% O8 `9 t) E3 t! c8.2.2 连接配置项 2590 q1 ]% U4 u. M& o( J3 s, u
8.2.3 内存配置项 261
% _" V6 w& j: O8.2.4 预写式日志的配置项 262* l9 V/ I/ e+ `* {/ W0 t7 A/ _
8.2.5 错误报告和日志项 264, k2 i( }: w( Y$ M. I
8.3 访问控制配置文件 268
# q3 k3 ^. x) d9 t8.3.1 pg_hba.conf 文件 268+ I( M; c W) _0 u+ ?5 O6 V
8.3.2 认证方法介绍 269
3 f& K, e7 Y% {5 V( { z! L8.3.3 认证方法实战 270" x9 }& V& N5 G/ r8 g
8.4 备份和还原 271
( G1 Q, O7 \; W v& c% P/ |8.4.1 逻辑备份 271 g" R7 W1 L+ \( J0 y8 I
8.4.2 pg_dump命令 272
/ e* `! P1 P* z3 A' @8 T8.4.3 pg_restore命令 275
7 N6 h6 g) A) H* G0 W% [( J8.4.4 pg_dump和pg_restore应用示例 278
5 @* q( _6 q/ j( r" g( u2 r8.4.5 物理备份 279* s8 R0 k6 L! D+ w7 h" ^0 t3 n" C9 G
8.4.6 使用LVM快照进行热备份 279' P: ]0 z* r5 v6 h/ q0 @( ]
8.5 常用的管理命令 282
' U% G+ J9 H; d, u: s8.5.1 查看系统信息的常用命令 282
( J6 v2 F( ?2 A2 T# I8.5.2 系统维护常用命令 288
3 ~, l2 P' q& L ]8.6 小结 289# v; ?4 \( T7 Y/ k" w1 _# u5 M# V0 s0 c
第三篇 提高篇 java8.com! Z- D2 E& F# G. E% A# \* B. P; n
第9章 PostgreSQL执行计划 292
5 X5 w+ M; N& |9.1 执行计划的解释 292$ N9 Z) c5 O0 e$ |" T! ?. {8 ]$ G
9.1.1 EXPLAIN命令 292
! d, r' F; d; ?$ p9.1.2 EXPLAIN输出结果解释 2933 r$ N! Z$ J- h3 L' \
9.1.3 EXPLAIN使用示例 294& ~$ u+ Q# |: E( l! `# ?
9.1.4 全表扫描 2972 T$ S' c: B0 i0 s3 d1 t
9.1.5 索引扫描 297
7 k Q0 {/ Q: Y, ~: u! d9.1.6 位图扫描 297
: j* \, g7 {% ~9.1.7 条件过滤 298
" q1 ^; S/ k3 j( r9.1.8 嵌套循环连接 299& i" G1 \' a) T5 `7 c
9.1.9 散列连接 299
; w# g. Y6 d: B: J' j& f: {9.1.10 合并连接 300
: r4 S+ Y& J$ l) b1 ~: a; K v9.2 与执行计划相关的配置项 301
! ^6 G3 f4 V# F7 ?9.2.1 ENABLE_*参数 301
& u: {, a5 m6 F! Z9.2.2 COST基准值参数 3015 r$ n: X( }4 I
9.2.3 基因查询优化的参数 302% o2 u* H& Y3 s4 j6 p
9.2.4 其他执行计划配置项 303% Y3 p' U4 g# b( N" X, f; g
9.3 统计信息的收集 304
* T2 M; y8 L# K9.3.1 统计信息收集器的配置项 3041 I- k( {9 f+ H. k. Y) K
9.3.2 SQL执行的统计信息输出 304
7 K" v7 D% X& X( x9.3.3 手动收集统计信息 305
' z0 O# I2 q, z9.4 小结 306
% \) M1 r0 [8 s; o1 Z4 |( }第10章 PostgreSQL中的技术内幕 307
7 q& |* h8 T+ P$ [- M7 S10.1 表中的系统字段 307
, {4 [2 c( T4 i+ P. ^10.1.1 oid 308. s$ x9 K; \# F O3 [" G6 v
10.1.2 ctid 310
* _9 S |: W; @% W; Z- m0 c10.1.3 xmin、xmax、cmin、cmax 311
/ w- x' Y- T% U10.2 多版本并发控制 312
6 o/ ?; u3 j9 n8 Y, L& @5 o0 Q10.2.1 多版本并发控制的原理 312 @ }' k a2 `9 o
10.2.2 Postg * q2 z! k" W5 R& |. E7 H5 h
/ @" ]$ O; H: l; d* c. \) a百度云盘下载地址(完全免费-绝无套路):
" [0 O2 t1 g( b7 d. r# i4 u* ~ |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|