|
Java电子书:PostgreSQL修炼之道:从小工到专家(第2版) 格式 pdf 电子书 PDF 电子书 Java吧 java8.com
3 r0 X/ K# x' k/ t: d2 [5 i+ F& r. H# U( j7 b( R
1 M- G8 D! t6 W; V* g
编号:mudaima-P0362【Java吧 java8.com】7 M1 F. s: G+ \4 c! b& [4 \* }
( C- i* U* x7 o8 b/ q3 u$ K
- O4 B# w" z' g$ W) J$ I
7 b8 A; u/ t- s& y5 V5 l
Java电子书目录:篇 准备篇
) K$ U3 G1 T: O9 ~' o0 i第1章 PostgreSQL简介 2
0 Z$ B L9 n- f1 l: _! f: C1.1 什么是PostgreSQL 2
d" o5 o9 v6 b: Z1 R0 _1.1.1 PostgreSQL的发展历史 2& a$ C1 Q/ u+ n4 m4 ]
1.1.2 PostgreSQL数据库的优势 4( j' U$ ~/ S4 C" b
1.1.3 PostgreSQL应用现状和发展趋势 5
; V, O8 e/ U3 Q0 ]5 Z1.2 PostgreSQL数据库与其他数据库的对比 6* m* L4 P3 Y+ u3 i7 [
1.2.1 PostgreSQL与MySQL数据库的对比 6
7 e2 {7 a. C3 o$ R9 [- o1.2.2 PostgreSQL与Oracle数据库的对比 8
; o% p) L% L( l. C3 U1.3 小结 8: p+ j* T5 J" H- B0 v7 f1 E
第2章 PostgreSQL的安装与配置 9& u" P, T$ ?) K. T
2.1 从发行版本安装 9* e2 x6 [% J4 n# B6 k
2.1.1 Red Hat/CentOS下的安装方法 10
( c% d0 W0 R; M7 B: S* q* L* o2.1.2 Windows下的安装方法 12! U5 j) t3 k) H7 h6 W
2.1.3 从发行版本安装总结 18* f4 g- K& A" A0 M1 f' a
2.2 从源码安装 18
) Z4 v( q/ Z* P) ?2.2.1 编译安装过程简介 18. V- k. K$ _1 ~. w6 d
2.2.2 下载源代码 18
0 Z( l5 r' ` P" E! A2.2.3 编译及安装 20
; d7 y3 Y' p6 E2.2.4 PostgreSQL的配置 221 p: @6 s% V G! u( T
2.2.5 创建数据库实例 23( P* \2 l4 h* x7 c- I( E4 o* M% g
2.2.6 安装contrib目录下的工具 23
8 t3 r; A$ d2 h( f+ ~& {( b6 P2.2.7 启动和停止数据库 23% l* U" f8 R0 c0 z4 i. N& E3 e
2.2.8 编译安装过程中的常见问题及解决方法 24" m( g' ^( P6 ?7 E5 j
2.3 PostgreSQL的简单配置 25/ Z* n e+ u* r( S) X3 r
2.3.1 pg_hba.conf的配置 26
" Q/ p4 @; W% B; O! t2.3.2 修改监听的IP和端口 26
" d! i- r' N! x, I2 v [6 f; h, A2.3.3 数据库日志相关参数 26
! s2 n) d% M) Q# A5 X0 C; h+ L2.3.4 内存参数的设置 27
3 V1 {1 V( O9 Q& a2.4 PostgreSQL的安装技巧 27
8 |: u1 a7 W B) H" h( j2.4.1 不想把数据库实例创建到“/var/lib/pgsql”目录下 27
7 u5 N7 p z2 n M' U2.4.2 如何使用较大的数据块提高I/O性能 29, @2 V/ S% z+ B6 l1 c. V7 E
2.4.3 打开数据块的checksum功能 29+ ]- I2 A; a' G
2.5 小结 30
( A, _; }# K: j0 Z K3 J, j第3章 SQL入门 316 T/ O; _# I# j+ p
3.1 SQL语句语法简介 31
& c' z7 n9 B6 x8 h9 `3.1.1 语句的分类 31
' z. d- K+ U3 Y3.1.2 词法结构 312 a2 @8 Q( u# q- \& C
3.2 DDL语句 32+ m4 X4 \3 F1 L$ n; F: O
3.2.1 建表语句 32# _7 ]% w! Q) U+ [+ Z4 J6 ]
3.2.2 删除表语句 34
" A+ M' N. Q4 ?3.3 DML语句 34
' @) }8 @( o" b, A3.3.1 插入语句 34; B O, E5 W( j! @( g6 q
3.3.2 更新语句 35) v0 Z3 n% G- z l
3.3.3 删除语句 35# ?5 {3 i5 J, b4 B; t* o0 u# @
3.4 查询语句 36, g) ]* X6 p& d4 V7 w
3.4.1 单表查询语句 360 G% D. ]1 J+ L$ P+ _9 ?
3.4.2 过滤条件的查询 36
7 X) p9 ]) ~' w( ?0 N3.4.3 排序 37+ R: h8 ^# {* j9 T- u9 R# w% X* Q7 U
3.4.4 分组查询 383 u' n& H/ }4 P4 E- L- m' n
3.4.5 多表关联查询 38
; k4 z8 u0 f, R% A' q, O3.4.6 子查询 40! Z! b0 h% X) a& Z
3.5 其他SQL语句 42
5 Q. ~0 Y* {( h9 F5 m3.5.1 INSERT ... SELECT语句 422 ]# ]9 h- a2 m$ `3 t3 X0 J) Y
3.5.2 UNION语句 422 R8 [+ j- D* q/ Q1 ?( `9 Y) C2 O
3.5.3 TRUNCATE TABLE语句 43. }/ [6 ?& y2 @ c) P' Z) M: u( t
3.6 小结 43
( U4 k+ Y( Z5 }- m第二篇 基础篇
2 @4 a0 Y( @7 g! X# P6 |0 n第4章 psql工具 46+ j$ p" u; l3 E
4.1 psql介绍 46
1 A |$ G; ^" q% `# Z) M* B4.2 psql的简单使用 46
& J2 M6 f! ~+ y% Q* {4.3 psql的常用命令 48+ g9 i8 C+ E" f/ d' l
4.3.1 “\h”命令 49& Y2 M7 U2 @. y$ C1 C4 N' j( V) ?
4.3.2 “\d”命令 49) v# V) l( m4 t. F! S
4.3.3 指定客户端字符集的命令 52
; \" q. G8 {# a9 M4.3.4 格式化输出的\pset命令 52
& @2 T9 q: A. _6 @! d" c+ h: Y4.3.5 “\x”命令 55
4 D4 W A' M9 j- U4.3.6 执行存储在外部文件中的SQL命令 56
, `. O- J T: _( F1 Z4 ~4.3.7 编辑命令 56
# b4 N' T7 Q+ K7 z0 `1 I4.3.8 输出信息的“\echo”命令 574 y" a4 e" n6 N4 U2 c, X8 n
4.3.9 其他命令 58( E% W$ ^& [& b: g
4.4 psql的使用技巧 59& h( G& P! g, T D# ~1 e" j
4.4.1 历史命令与补全功能 59
, _( w8 i4 }1 e1 g* ~2 z1 x4.4.2 自动提交技巧 59
9 X; t+ l0 Z. y9 X: |# v0 [4.4.3 如何得到psql中快捷命令执行的实际SQL 60: M4 y: g+ o# R% @% y% Q' }# W
4.5 小结 62
$ V( x! T8 y4 a1 _第5章 数据类型 63
6 o# p, ]; e# {- a) B5.1 数据类型介绍 638 C% W" x( B! U( n6 H
5.1.1 数据类型的分类 637 c' z2 z7 I7 S! a! O% H
5.1.2 数据类型的输入与转换 65
& e! w7 x7 L* s8 E5.2 布尔类型 65
2 y+ X- c9 c: i0 D9 E: K5.2.1 布尔类型介绍 65$ `4 H% A, g0 i3 z6 x0 U. p
5.2.2 布尔类型的操作符 67
7 X# O% H/ C" N' i; t' ^! X5.3 数值类型 683 c# ~7 T, V* I
5.3.1 数值类型介绍 68
2 i/ v2 ?% p9 C8 {5 W5.3.2 整数类型 68
# I* R+ |7 p0 j+ e8 o5.3.3 精确的小数类型 69
( o0 W0 j0 _/ @9 |& K5.3.4 浮点数类型 70# @- \' h5 w" m& C
5.3.5 序列类型 70+ q, Y* `) Q* c0 d
5.3.6 货币类型 70
- o! W _( a; `- o6 u5.3.7 数学函数和操作符 71; E' L! S6 C0 M& u8 f1 z5 ]& }" z6 ]2 [
5.4 字符串类型 73* X Y1 c; W; H
5.4.1 字符串类型介绍 73
7 C, L' M$ v M# _. ]3 L1 I# V% _' U5.4.2 字符串函数和操作符 73
6 D* U2 g5 K8 h, L5.5 二进制数据类型 767 O) B% x ^; z2 k: @' e: K* U9 P% ~
5.5.1 二进制数据类型介绍 76
! c) o4 @* r/ `+ I+ }5.5.2 二进制数据类型转义表示 76
5 t2 n0 ^- x; l, I$ o5.5.3 二进制数据类型的函数 777 f" J* @2 {, X4 |3 @( x( y6 g4 v/ v
5.6 位串类型 78
+ D; n! @! k8 n6 \5.6.1 位串类型介绍 78& j* }# ~$ X9 n) `
5.6.2 位串类型的使用方法 78
- s9 W6 h) K8 s7 _5.6.3 位串的操作符及函数 794 ^9 c3 f% r" X+ Q; V- A
5.7 日期/时间类型 806 m6 N9 O7 Z3 E- j) i
5.7.1 日期/时间类型介绍 80; M& g2 M E- J7 v9 w+ o
5.7.2 日期输入 81
; e4 E% U1 f0 j/ B% F5.7.3 时间输入 82
7 E; c$ P9 C+ o4 g/ H5.7.4 特殊值 84
2 G( ]; }6 j5 h# ~ l+ A5 u5.7.5 函数和操作符列表 84
3 o" ]8 D% C" M" r7 ~0 D- c5.7.6 时间函数 85: Q: t5 ^1 {6 S# r0 _
5.7.7 extract和date_part函数 89
& e# c" b/ H! q- S5.8 枚举类型 900 G- h5 `" P! M. r1 Q$ Z7 F V
5.8.1 枚举类型的使用 90
2 _' e% e( M3 \. p5.8.2 枚举类型说明 91
: z# Q* }7 I9 x' O8 X5.8.3 枚举类型的函数 92
; j1 y, A* b) U7 j8 p5.9 几何类型 92
9 W0 }3 n y5 ^( U; p- `5.9.1 几何类型概况 93
! O- U4 x: y2 w! z7 F- B) O5 E7 P5.9.2 几何类型的输入 93( R, C# ~4 F9 M+ k" c' f3 r
5.9.3 几何类型的操作符 98
$ U& V, X$ e, y# E5.9.4 几何类型的函数 106
/ Y. p3 ?: h% u5.10 网络地址类型 107
5 u+ T2 w l! m0 \5.10.1 网络地址类型概况 107" z) H* i3 y+ ^4 @# E! V' j
5.10.2 inet与cidr类型 107
8 R& i) b) B5 \% @5.10.3 macaddr类型 110 {9 z7 B/ E5 P% }3 t: |: t
5.10.4 网络地址类型的操作符 110& s( o3 t+ ]( M* f8 d4 F X
5.10.5 网络地址类型的函数 111
5 A. j, a; ?5 k1 _5.11 复合类型 112
! j+ c* C1 l0 D$ h+ _/ [; ~' o6 k2 @! b) b5.11.1 复合类型的定义 112
/ N2 h ~) e" q5.11.2 复合类型的输入 113
4 s+ |. c1 r5 @3 u, ^; o" l5 j5.11.3 访问复合类型 114- b" ~& q7 l, a$ n9 a; x y
5.11.4 修改复合类型 114
) _1 k4 M! W: ?: {+ U* B5.11.5 复合类型的输入输出 115
" T1 x! V0 C) A) t1 d5.12 xml类型 116
: d8 c( @3 S2 {; P: y! g5.12.1 xml类型的输入 116
, u, [; O( d B' @5.12.2 字符集的问题 117
) c2 b' r3 a5 b% }1 U. @% g2 A5.12.3 xml类型函数 118
p3 @2 B( V& P5.13 JSON类型 124
& m6 ]7 |9 X' T7 P8 h5.13.1 JSON类型简介 124
6 j& n" f$ i* q- @ l5.13.2 JSON类型的输入与输出 125
. n6 A+ z! Q, I: K% Z5.13.3 JSON类型的操作符 126( m& N* H' n1 H9 o# `# T; W/ [
5.13.4 JSON类型的函数 127$ \! T \9 k; U( c& i
5.13.5 JSON类型的索引 1327 a6 Z, P0 `; [- @- V. G6 K b- ]. j. s
5.14 Range类型 136
; D% t* A% K% }# \5.14.1 Range类型简介 136
/ B/ Q4 r% I2 I0 F; f# D5.14.2 创建Range类型 138! n, f; M+ b% P
5.14.3 Range类型的输入与输出 138
* I* N: R$ z' p( A9 s6 y" J5.14.4 Range类型的操作符 141
0 @8 e1 q5 e8 M( P5.14.5 Range类型的函数 142
3 N0 I6 M: q) J% X3 F4 O5.14.6 Range类型的索引和约束 142
, {: J1 G3 R" T' F! A* _5.15 数组类型 143* ^2 x. g$ V# u, `0 V5 l! v
5.15.1 数组类型的声明 143
4 H$ z/ \& I* a+ X2 k5.15.2 如何输入数组值 144
; e. [ M& a6 Q# S m2 y/ J5.15.3 访问数组 146$ l& z- F$ a6 G# a6 y0 o' d: M7 e
5.15.4 修改数组 148% E2 |/ P. r8 G' y1 b
5.15.5 数组的操作符 149% i% |1 T9 A: j" z$ t& g' B. _$ i7 q# a
5.15.6 数组的函数 151: ?: N; D* i& B5 j$ B+ j
5.16 伪类型 153/ j$ ?4 E$ A H& C
5.17 其他类型 154
/ E& u7 Q+ F* A! m) |8 c. y5.17.1 UUID类型 154
# S: G5 @. L2 h5.17.2 pg_lsn 类型 1548 O+ S, O: j& e2 ], x7 x
5.18 小结 155
/ [. z6 F0 P( f6 w3 k. a( Z第6章 逻辑结构管理 156+ u: G. q. q" V6 P+ i
6.1 数据库逻辑结构介绍 156+ H( K j+ M. r9 L p& X6 H: H
6.2 数据库基本操作 156$ H0 ^3 r) X. q. x$ G- N
6.2.1 创建数据库 156, \& u! b! |1 K: T
6.2.2 修改数据库 157& Y% s/ r: t6 c6 U9 O+ E1 U
6.2.3 删除数据库 1582 Y, [' {# J: A
6.2.4 常见问题及解答 158$ P. C6 |* f: M# [) |
6.3 模式 159
1 [+ O4 b; |: A, k, o6.3.1 什么是模式 159
2 p! D# L6 H P* l( y! b2 g' }6.3.2 模式的使用 159
! E" _# Q" c5 Q/ B# y6.3.3 公共模式 161
7 N" H! E! H' Y' o6.3.4 模式的搜索路径 161: k H' Z0 ]0 j6 v9 ^' ?
6.3.5 模式的权限 1620 C: K8 s5 X6 s( ^
6.3.6 模式的可移植性 162
4 [, i- B1 A' i6.4 表 163
S6 a3 v( U) f* Y7 _7 \6 U7 W1 w3 {* H6.4.1 创建表 163
/ X: W5 Q9 X" E7 L" }( ?) N, y6.4.2 表的存储属性 165# Z' T7 z( U; @8 m; Y
6.4.3 临时表 1674 x# s! A, h7 v0 [
6.4.4 UNLOGGED表 170
/ k) s# `$ y* @* I9 d/ w6.4.5 默认值 170
8 I/ \( q/ f$ }( W# ~6.4.6 约束 171
: a- Y: ~0 J" m( |& B$ E' g6.4.7 修改表 1752 K7 t% @4 i/ W0 l5 {
6.4.8 表继承 179
: Z8 T% w3 G# G' o; \: z' f6.4.9 通过表继承实现分区表 181
( R: T! h4 P% f$ o" D6.4.10 声明式分区 1868 A% X5 I' X5 |; @. {
6.5 触发器 188
; J+ d( I7 o3 m @# h. ~6.5.1 创建触发器 1893 ]+ X0 i4 k* I
6.5.2 语句级触发器与行级触发器 190
! A2 q9 e4 e8 N7 j; q0 J6.5.3 BEFORE触发器与AFTER触发器 193
5 r+ g1 L+ t6 L: Z' D! ?0 W6.5.4 删除触发器 194% D) j+ K8 | H! `0 @! G
6.5.5 触发器的行为 194
, A9 R/ q' ~7 H$ y+ a6.5.6 触发器函数中的特殊变量 195
: m3 f4 x- C% C1 d4 y# E1 W6.6 事件触发器 196
7 V, o9 e( k o2 _! T; N8 Y1 @* ~; b( h6.6.1 创建事件触发器 198: L7 w# g+ N" `7 s# _0 c
6.6.2 修改事件触发器 2012 M/ Y' o' ?. A; N* x9 ?/ j- [ {
6.7 表空间 201
; f7 d0 |* }3 d6 V7 R6.7.1 什么是表空间 201& Z3 }0 p. _9 ^4 c6 b* S
6.7.2 表空间的使用方法 201
. v8 k! l$ ]- ?( O6 W; }6.8 视图 202
2 m+ P+ C* b) x) t- Q6.8.1 什么是视图 2028 s8 n1 ]! W: Q: A2 U
6.8.2 创建视图 203
5 ^6 N$ l/ j! f) t; O7 d( k6.8.3 可更新视图 2047 M M4 i: a- b* A* i
6.9 索引 207
; E6 v- @( p7 b! f6.9.1 索引简介 207& U# W4 \+ G. a! x; ^+ [
6.9.2 索引的分类 207- G) m% G9 d$ ?( o, a0 U
6.9.3 创建索引 2086 c8 V0 U! R. U/ u- i' H
6.9.4 并发创建索引 209
) n' m, t- I: B; H0 z/ ]8 T6.9.5 修改索引 211
' t F2 j# [, r( @2 d9 M6.9.6 删除索引 212
) }; Q4 t: _! N( O) h6.10 用户及权限管理 213
# k3 i- f! m: F* e9 b h6 z6.10.1 用户和角色 213% o, z0 |# A- U+ h: R
6.10.2 创建用户和角色 2135 i- h) W5 E, A) o
6.10.3 权限的管理 214; z' H: u$ V* U, P
6.10.4 函数和触发器的权限 219
' @$ r; B& c, `% z; K# W+ z. D6.10.5 权限的总结 220
$ h9 h- G D) c" g. F2 h$ w! q6.10.6 权限的示例 220
* q/ S/ c. `: x3 t2 e2 `6.11 事务、并发和锁 220
8 P) R( s& B! D8 Q3 V0 w6.11.1 什么是ACID 221# Q1 ^ I0 X7 H5 G1 m
6.11.2 DDL事务 221
' N/ Z7 M4 z6 o0 z0 t! _% S6.11.3 事务的使用方法 2214 e2 f0 v1 k8 c$ n6 V
6.11.4 SAVEPOINT 222* h( D; n- O6 }+ i& w& q5 d
6.11.5 事务隔离级别 224- w6 B0 ` r- P( f
6.11.6 两阶段提交 225
5 u8 A) L% ?, Q( m6.11.7 锁机制 226* J7 v$ J! R C, e2 a0 A8 j S
6.11.8 死锁及防范 230* ]: p/ ~4 |/ N8 i& g! }
6.11.9 表级锁命令LOCK TABLE 230- y3 g6 O3 [! m
6.11.10 行级锁命令 231) a0 |9 P) d' ^9 J) l
6.11.11 锁的查看 231( F, S" V4 L9 S, U+ o$ G
6.12 小结 238
6 P* c* T: I' I K0 \: y' ^9 Z5 m' m第7章 PostgreSQL的核心架构 239: X3 p: X& }* D- U
7.1 进程及内存结构 2391 k3 q/ J Y( \
7.1.1 进程和内存架构图 239
; \9 n1 q S! a) `9 z6 i. M7.1.2 主进程Postmaster介绍 240- E' s4 r6 M5 ]" P$ X3 d
7.1.3 Logger系统日志进程介绍 241
! I' y" @$ p( l' O- g2 n: U; L7.1.4 BgWriter后台写进程介绍 241
2 t2 v1 W0 L; \4 }, R; |% }9 L6 V7.1.5 WalWriter预写式日志写进程介绍 241
Y4 p" S8 V- G! P7.1.6 PgArch归档进程 242
& _5 ^3 `4 r& \/ M. O7 d2 X7.1.7 AutoVacuum自动清理进程 242( z$ S8 o! ~$ ]; i S& `
7.1.8 PgStat统计数据收集进程 242% t/ Y# w$ u ^4 P7 N* f
7.1.9 共享内存 242% s0 a0 o4 F4 u6 }, D
7.1.10 本地内存 243
- \: S% t/ g4 y7.2 存储结构 2430 P& r% V4 k5 A1 r
7.2.1 逻辑存储结构 243" l9 W6 |' q! O V
7.2.2 软件目录结构 244. K3 O$ _/ q {! e6 @# G h
7.2.3 物理存储结构 244' Y3 |# ^9 w7 V |* F( V' {" O! D N
7.2.4 表空间的目录 246
# U/ I: r2 u7 z$ k* l0 q; U8 f7.3 应用程序访问接口 2475 _$ Z" Y7 x( C* R# l
7.3.1 访问接口总体图 247) U! `/ e; f0 t; s
7.3.2 不同编程语言的PostgreSQL驱动介绍 248$ t; S3 _' x2 {$ O
7.4 小结 249 L8 K$ i9 y" N( L" ~% m
第8章 服务管理 250 h% r+ U$ p2 z( l0 M
8.1 服务的启停及原理 250
& ^$ H# I0 L1 l0 ~9 T( Z3 ^% `8.1.1 服务的启停方法 250
1 T( I# I. G/ D7 B N8.1.2 pg_ctl工具 251
$ W7 [$ B# Q" W$ S8 r8.1.3 信号 255
5 g6 K; B' O! B- j4 ~4 l8.1.4 postgres及单用户模式 255: ^( C/ n' i. w. D) @
8.2 服务配置介绍 256 x: B* |0 ?6 i' j# b* r
8.2.1 配置参数 256
; @) o! F8 L, W" ]5 ?8.2.2 连接配置项 259/ ?8 r1 O' o) m/ x' Y$ R
8.2.3 内存配置项 261
* m! f3 h2 s( k9 k2 I8.2.4 预写式日志的配置项 262 m# @' G0 \0 |* Y" q* D2 \% q
8.2.5 错误报告和日志项 264
9 i& J* x3 M4 i( H8.3 访问控制配置文件 268
7 n! @7 X' |5 x! u* H" `! n8.3.1 pg_hba.conf 文件 268
: N# J2 O: V$ a, p8.3.2 认证方法介绍 269
& O' o2 P7 w: C5 j$ j8.3.3 认证方法实战 270
' \) a7 H$ O6 ]+ d- z% V8.4 备份和还原 271
3 U$ q; [, i! m1 }. C( \" }8.4.1 逻辑备份 271
* m! @6 L9 a6 `8.4.2 pg_dump命令 272
& d- {+ a6 G. i0 J, }8.4.3 pg_restore命令 275
# E9 _# t3 x# K6 K& u8.4.4 pg_dump和pg_restore应用示例 278+ Z% ~ d Z3 c) m' t
8.4.5 物理备份 279( {, A% O5 ?* g% Q
8.4.6 使用LVM快照进行热备份 279
7 I& [, G- G1 p, }: m! ^/ ?8.5 常用的管理命令 282( X$ W. [8 Q6 q* P+ V5 u
8.5.1 查看系统信息的常用命令 282( D5 l" Y4 b5 N+ ~, k8 S9 m# y
8.5.2 系统维护常用命令 288
! T: I- d+ h3 C2 x- {8.6 小结 289
; }7 f/ g8 f4 G% J d! J1 H第三篇 提高篇 java8.com/ H( B* s9 y0 [3 | j# \6 c
第9章 PostgreSQL执行计划 292
* w6 E) V( ?3 m' V) J! W9.1 执行计划的解释 292. h6 q/ M' \7 d9 s
9.1.1 EXPLAIN命令 292
2 ~, p4 Q" P0 p: C2 f/ [9.1.2 EXPLAIN输出结果解释 293% m7 z% ]1 d; X; z" d5 |' k
9.1.3 EXPLAIN使用示例 294( B. {8 V- b$ k! R
9.1.4 全表扫描 297+ L e) T/ C2 z% n9 q j- k
9.1.5 索引扫描 297
0 q+ ~9 K4 G7 u2 l4 V' ?9.1.6 位图扫描 297
, b) `5 ?. L" Q& h4 _3 K/ L9.1.7 条件过滤 298
/ u% U' D8 _. e9 K; A/ W9.1.8 嵌套循环连接 299
$ } R, m( j7 [5 d3 L- d' a/ Q0 Q9.1.9 散列连接 299
1 t& {& g) `0 p0 m9.1.10 合并连接 300
z+ @: }# c' ^# J9.2 与执行计划相关的配置项 301( |; Z% X! Q/ h" k2 ?& K6 ]4 P5 n
9.2.1 ENABLE_*参数 301
' A* `: y, [+ j- w* ?9.2.2 COST基准值参数 301' g% f5 i, A V, B* s
9.2.3 基因查询优化的参数 302
) Q2 \1 ~$ \# J L. \% x) J9.2.4 其他执行计划配置项 303* H; j9 B2 C; w
9.3 统计信息的收集 304: [" W/ X+ n7 X+ b8 D( \$ E# F
9.3.1 统计信息收集器的配置项 304
% n M( R1 G' p# `* }9.3.2 SQL执行的统计信息输出 3042 Y e* @5 C7 Z l: T
9.3.3 手动收集统计信息 3054 ~+ Q: _/ ~% H. ?
9.4 小结 306- z9 U1 E" p. q+ h! x% c( b
第10章 PostgreSQL中的技术内幕 307
* N N( e! F r& _) c, v10.1 表中的系统字段 3073 e; h' ~* C y9 t6 H' C
10.1.1 oid 308
" w2 @2 e; ]" D9 f10.1.2 ctid 310
+ y* |7 y, U; a10.1.3 xmin、xmax、cmin、cmax 311
; H0 W! j4 M. O, ~3 H7 b. K10.2 多版本并发控制 312" ?# n7 K1 X: K& C1 H2 V+ Y
10.2.1 多版本并发控制的原理 312' Y2 W8 f7 A0 a7 t. |0 `2 b; f* m
10.2.2 Postg
2 A/ V& Z* J; W7 r/ G" h2 U9 I/ g) r- ~. T- v
百度云盘下载地址(完全免费-绝无套路):5 F0 }2 @. O. ]2 N
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|