|
Java电子书:PostgreSQL修炼之道:从小工到专家(第2版) 格式 pdf 电子书 PDF 电子书 Java吧 java8.com
3 v* ^5 x! ]- ~/ `( m6 a. A7 c3 M' I y, U* u
- n( {& n& Y2 t9 q编号:mudaima-P0362【Java吧 java8.com】- d4 x' U8 E' H2 q# e C
' [& L/ o8 x- J$ p! }
% p8 w! w, t. N3 N) s5 d9 K7 d+ D
Java电子书目录:篇 准备篇7 a/ U, Z+ i: Q M" E. O
第1章 PostgreSQL简介 2
/ O! Q2 }3 i) G1.1 什么是PostgreSQL 2
) O7 ~9 v- w4 m }6 f6 Z' I/ T1.1.1 PostgreSQL的发展历史 20 g& x# {9 F. c% x2 d5 b
1.1.2 PostgreSQL数据库的优势 4
j' R B# i1 d0 S7 u, h1.1.3 PostgreSQL应用现状和发展趋势 5
5 E, D& p( I' Z2 d& j1.2 PostgreSQL数据库与其他数据库的对比 69 G) Y. F9 S' K: X% Z
1.2.1 PostgreSQL与MySQL数据库的对比 65 m/ ^# _ J" f* G
1.2.2 PostgreSQL与Oracle数据库的对比 8
3 `7 a( c) O+ g! ?# w5 f( ]- {1.3 小结 8. S1 m0 O6 W; T8 C5 K* |0 k
第2章 PostgreSQL的安装与配置 9
$ i+ L; ^; ]3 ^. W1 O. W0 t2.1 从发行版本安装 9) u: F8 i/ G& Z$ y$ s% p- i0 m9 W% J
2.1.1 Red Hat/CentOS下的安装方法 10% U( F r: k3 K- H+ f
2.1.2 Windows下的安装方法 125 }3 e+ y" w( M u% j1 v: @6 ^
2.1.3 从发行版本安装总结 18
! H. Z& j7 @ I& j2.2 从源码安装 18
% E+ y2 B! c) l* }' u+ D2.2.1 编译安装过程简介 18( u: b6 n! c, W$ _7 F
2.2.2 下载源代码 18
) B8 G! c/ x7 n! C; C2.2.3 编译及安装 20
1 ?; d" r+ l7 Z" Y* X/ k! u# y2.2.4 PostgreSQL的配置 227 A' D" |$ F( ^6 j) Y, d5 Q
2.2.5 创建数据库实例 23
7 ?" f0 ~ S$ } H) p9 s2.2.6 安装contrib目录下的工具 23
9 I1 M% v& I6 S; Q/ Z2.2.7 启动和停止数据库 23/ N! t) Y' Y# O2 ?& c# @( R: |
2.2.8 编译安装过程中的常见问题及解决方法 24. V/ y1 Q# a2 d% P
2.3 PostgreSQL的简单配置 25/ A D( n$ b) E& O# g
2.3.1 pg_hba.conf的配置 26& l- y T( {1 l
2.3.2 修改监听的IP和端口 265 ]# P7 V7 q# C J7 M4 j1 p+ v
2.3.3 数据库日志相关参数 26" j e |( L6 d5 G) B" b: @" ? w
2.3.4 内存参数的设置 279 ^. I* k" D3 R$ h
2.4 PostgreSQL的安装技巧 27
D L# L) F, r* U% d: v7 }6 u8 ]! C2.4.1 不想把数据库实例创建到“/var/lib/pgsql”目录下 27
2 y O, F3 o3 c4 V% p2.4.2 如何使用较大的数据块提高I/O性能 29. b( A& j, ^" g+ \# \, Z
2.4.3 打开数据块的checksum功能 290 Z& q$ `1 r* @8 R' Q. O
2.5 小结 306 V) M1 s/ X" h6 m
第3章 SQL入门 31* D7 K4 S8 q4 @" i
3.1 SQL语句语法简介 311 h5 M% s6 L8 l( q% l4 m
3.1.1 语句的分类 31
( e& R+ W. W1 f( Y' A6 D& e3.1.2 词法结构 31 \% v4 @; j- f" w0 `
3.2 DDL语句 32
7 w: A# i* A7 d5 B- D6 U! z, G- ^3.2.1 建表语句 32 w) C4 E% q. b9 F! b6 Y7 L9 v+ \
3.2.2 删除表语句 344 R, H. a: ?% V; }- A
3.3 DML语句 34
% G1 n8 e4 g$ I: I! V, i8 i0 r' `3.3.1 插入语句 34
, t; q8 o" I1 [7 S3.3.2 更新语句 355 m6 w" m) @, @
3.3.3 删除语句 356 I$ A: Q3 _! ^& E3 H2 x3 d
3.4 查询语句 36
1 F3 h2 \6 p, S6 @* L# D3.4.1 单表查询语句 36
( b3 H2 b i8 B& i3.4.2 过滤条件的查询 36
0 B8 Z7 f# Y: `3.4.3 排序 37
- W" B8 X6 I# }+ F% o4 o4 ]3.4.4 分组查询 381 L* J# H2 D8 K4 a' \
3.4.5 多表关联查询 38
/ J0 @8 a3 m+ D, r/ G3.4.6 子查询 40 v& U3 v: j! A4 d$ c3 o9 G
3.5 其他SQL语句 42 Z6 A) q1 k6 {5 e0 D5 Q
3.5.1 INSERT ... SELECT语句 42' W- s! X* D ` N. |8 L, W8 `8 @# ~' g
3.5.2 UNION语句 42
( Q6 C& g! x3 F/ ? ~3.5.3 TRUNCATE TABLE语句 43# A! h! M5 L! m0 I) [% X
3.6 小结 430 N3 Q+ Z; w# ^
第二篇 基础篇
" a9 C% A; E1 n: W第4章 psql工具 46
7 A8 x% s) E- o! j4.1 psql介绍 46
. b$ Z% n4 j" ?* v/ B4.2 psql的简单使用 46
' V+ Y) E" [' l- |4.3 psql的常用命令 48! N8 y( A3 q5 O- J
4.3.1 “\h”命令 49
5 @+ ~. t+ [0 k4.3.2 “\d”命令 49
* u! A& m$ D! B6 V/ _6 t; e4.3.3 指定客户端字符集的命令 52
7 G% Y! s$ a6 K4.3.4 格式化输出的\pset命令 52
" S1 y4 x4 V" S( |% ` {+ J; \! V4.3.5 “\x”命令 55
3 E+ C0 ?9 C; f1 @& J- V' B4.3.6 执行存储在外部文件中的SQL命令 56
- n j$ ]( S5 r1 v1 S6 s9 M" x4.3.7 编辑命令 56
6 v. d' X6 K/ _+ A% B1 f5 d+ P0 p4.3.8 输出信息的“\echo”命令 57
5 x1 a" X/ D2 t/ q$ u l) `4.3.9 其他命令 58
- Y# S, `( M4 b" l/ p4.4 psql的使用技巧 59
. B( S9 w# a9 E, E4.4.1 历史命令与补全功能 59
5 b# x" R+ i% ~* D/ ~% W' ]. F4.4.2 自动提交技巧 59
# Q% u' r% Q g4.4.3 如何得到psql中快捷命令执行的实际SQL 60
: B* t, z7 f5 U. h, x4.5 小结 621 {* f8 T9 m. i4 L
第5章 数据类型 63$ ]3 ^! a- W" R2 G; r8 S
5.1 数据类型介绍 63
$ e8 r- H' @& B2 r) Q7 f3 A5.1.1 数据类型的分类 637 K& ^6 \/ w/ q9 U& t
5.1.2 数据类型的输入与转换 65
6 K" o: b* I. g9 }( L5.2 布尔类型 65# v5 {; w( J- P3 I9 O
5.2.1 布尔类型介绍 65
. m \+ L3 `0 Y" s5.2.2 布尔类型的操作符 67- E6 G. F8 r0 s" z# E9 v' d0 m
5.3 数值类型 68
& ]' \1 q% m: ~5 d+ L0 b. [5.3.1 数值类型介绍 68) Y" L# ^* ?/ P2 ]5 z
5.3.2 整数类型 68
; i1 [) |& v k: B! \+ q% f. D) D5.3.3 精确的小数类型 69
% a, F* ?! b2 |" J/ d$ I5.3.4 浮点数类型 70
! f, u% V5 t8 i( A6 Q+ c p0 U5.3.5 序列类型 70( K, ^# ]- \& a1 x3 J8 A
5.3.6 货币类型 705 E2 V" y1 S+ K7 n; U
5.3.7 数学函数和操作符 71
+ W* _) _( a) [. s8 o4 J5.4 字符串类型 733 y! j; l: ?! y) A7 a* |
5.4.1 字符串类型介绍 73
& b$ u% q9 R. m5.4.2 字符串函数和操作符 73% K( y- ^( ~0 J/ x( R5 K
5.5 二进制数据类型 76
/ c7 n {2 ^! D2 L* ?( y5.5.1 二进制数据类型介绍 76
- q% A3 L0 \* Y5.5.2 二进制数据类型转义表示 76
" \$ o9 q$ k' z* W# [7 Z5.5.3 二进制数据类型的函数 77* {7 e# Y5 q9 G5 x! g. b
5.6 位串类型 78; U; B# A' S; V6 S3 j
5.6.1 位串类型介绍 788 W) s y/ S' b! w
5.6.2 位串类型的使用方法 785 k- b# h. H8 t. @+ |# q
5.6.3 位串的操作符及函数 795 D) n r* D* u2 B v
5.7 日期/时间类型 806 z1 W" `4 e3 o& I0 h9 m
5.7.1 日期/时间类型介绍 80
7 q7 G* |" i6 n- S. x* ~+ s5.7.2 日期输入 81# o+ {+ k( D& }" Y5 d
5.7.3 时间输入 82
6 Q5 c$ ]* B0 t) g8 h- a5.7.4 特殊值 84$ W% O) Y! N9 e% m% B
5.7.5 函数和操作符列表 845 t4 u$ K. E6 U4 ]2 C" i) i
5.7.6 时间函数 85
; R9 \: F4 r% i" V' f5.7.7 extract和date_part函数 89' C( Y1 z' A( g( d) x! f
5.8 枚举类型 904 w/ o) M3 }% Z$ F! F
5.8.1 枚举类型的使用 90
. L4 [2 E: m% V' H" |5.8.2 枚举类型说明 91
/ D1 i- W$ u3 r9 K6 g$ s' k& v6 c5.8.3 枚举类型的函数 92; J: S3 g* Z( S, K
5.9 几何类型 92
4 y/ D3 U- s- ?; i9 i7 [5.9.1 几何类型概况 93
( [! k% B4 E. J9 h& V0 g) O2 `5.9.2 几何类型的输入 938 n1 E: B8 I7 s% S9 _9 Y
5.9.3 几何类型的操作符 98$ q. e9 ]& L! g% B5 n
5.9.4 几何类型的函数 1060 ]- z" O- ~$ K1 b4 ^
5.10 网络地址类型 107. c) v6 b: @" w4 E
5.10.1 网络地址类型概况 107
$ }( c* h1 ]- O# F( F8 c5.10.2 inet与cidr类型 107
5 H$ g8 u( o3 J: y* y! x5.10.3 macaddr类型 110
8 k z" Z0 R& ]9 x. v5.10.4 网络地址类型的操作符 110
( R% V' U- N7 z& F' U5 j5.10.5 网络地址类型的函数 111
( A6 [- ]! |( {( A5.11 复合类型 112
3 H6 X' V& U' F2 p5 ^1 F% l5.11.1 复合类型的定义 112$ s- j7 ?1 P) p6 z3 J ?, A+ r
5.11.2 复合类型的输入 113 y$ J" o' \6 o2 q" `6 ]) n
5.11.3 访问复合类型 1142 m8 i. q0 n) }, [- W. q
5.11.4 修改复合类型 114
( x* j2 E: M& L/ r5.11.5 复合类型的输入输出 1154 X3 B7 W7 Y. ]" z/ |. D' F: E
5.12 xml类型 116
# x2 G5 K( W6 p# W5.12.1 xml类型的输入 116+ w9 E. F. H* K6 K# Y& a5 f
5.12.2 字符集的问题 117$ k5 m% f5 ^% J$ U
5.12.3 xml类型函数 118
5 a$ m4 `/ H# ]: l4 i: C5.13 JSON类型 124
% Q9 N+ J" m5 @0 {7 K+ x5.13.1 JSON类型简介 124" J/ d; I8 }' }6 E' E1 C( _! u M- O2 S
5.13.2 JSON类型的输入与输出 125
/ |7 Z! T. m. W* ~1 R( R# n5.13.3 JSON类型的操作符 126
! z+ q: i& e! {5 t3 G$ A/ [' C5.13.4 JSON类型的函数 127
! P5 |3 K. J9 h) q5.13.5 JSON类型的索引 132
) L, Q1 e* E8 m; ?" a7 Q5.14 Range类型 136
) W& Z3 G& Z3 G k3 C# Y5.14.1 Range类型简介 136
7 B8 }# i% K C: S: @5.14.2 创建Range类型 1380 q/ h. O0 ~/ P% f4 c& L" x( N
5.14.3 Range类型的输入与输出 138- T9 T& }- i8 ]4 h& Q
5.14.4 Range类型的操作符 141
9 o! M) I) r- ?4 h% A. Q3 U; y5.14.5 Range类型的函数 142, a2 s. B& e. V: ~2 v& R8 a
5.14.6 Range类型的索引和约束 142
: G2 C& [% B; Y5.15 数组类型 143
" m' o* [2 `$ `# @/ G& [: ~1 f8 `& E% i5.15.1 数组类型的声明 143) G; \6 e* O; ^* P0 \! z* T, {& ^1 x% Q
5.15.2 如何输入数组值 144
) d: L$ P- X6 V8 ~* y, }5.15.3 访问数组 146
( K7 ~# X* Z9 c% l5.15.4 修改数组 148' m8 @7 }- h4 i8 j6 N% j0 D
5.15.5 数组的操作符 149
, J' p1 Z2 _2 K5 Y5 |5.15.6 数组的函数 151
' t! V# C0 E% s" k' ?0 o5.16 伪类型 153
5 e9 J& [4 t3 Y# Q2 e9 I; q5.17 其他类型 154
* Q6 f4 g/ s; M4 G# T5.17.1 UUID类型 154
% J* _" ~/ v' e, Y7 j# h1 Z6 X4 |5.17.2 pg_lsn 类型 154
# t& T S1 L( K/ L- J3 X) v- {5.18 小结 155
e+ h% ^; }6 Z% _% p$ s第6章 逻辑结构管理 156
& e% t4 \0 d8 e! [' w8 B7 q' u6.1 数据库逻辑结构介绍 1562 F& i8 Q% F! u! X/ d5 S
6.2 数据库基本操作 156
" F- T% ~- t h" T/ V) ?% A6.2.1 创建数据库 156
4 _# ]/ w/ F9 j0 C6.2.2 修改数据库 157( p3 H4 ^4 j# @# X
6.2.3 删除数据库 158
4 D% T0 U6 ^3 K% X/ m6 E6 l6.2.4 常见问题及解答 158, ]) C4 ]8 [0 v! D2 p
6.3 模式 159
- u# L1 [# ~+ t+ w9 {6.3.1 什么是模式 159
/ c, Y6 m1 o; h2 O% a6.3.2 模式的使用 159
; b' r% B* Y6 M {) r. A6.3.3 公共模式 161& L2 @) q9 ~5 L2 C. y- \
6.3.4 模式的搜索路径 161
6 I3 L v) t6 a' Y6.3.5 模式的权限 1623 T* q7 p: G% ]" E3 N# N
6.3.6 模式的可移植性 162
6 Y8 Z0 c( x, K# q! x, \6.4 表 163* E+ f" u9 L ~& P: V. Q
6.4.1 创建表 163
# | K. n) w* o( c4 q9 _3 v6.4.2 表的存储属性 165
. p$ L3 m! g: W! [* N6.4.3 临时表 167
& H( h0 k! o% i% R6.4.4 UNLOGGED表 170
- H2 M) H- A v$ n4 [& h3 v/ X2 D6.4.5 默认值 1700 n/ |6 ]2 \" s: w1 Q/ Q
6.4.6 约束 171. b( q1 @6 W# [5 A, G* }
6.4.7 修改表 175" j: v! n0 ]9 Z0 X9 S" ?' V1 x
6.4.8 表继承 179 y. k. s" f7 m! L: C( R
6.4.9 通过表继承实现分区表 181! d3 [7 Q6 j: F( D7 K7 d) E$ O5 Y
6.4.10 声明式分区 186
' Z! [8 e1 T5 b1 ?: c8 ]6 @6.5 触发器 188. W# m+ S5 F& K- f
6.5.1 创建触发器 189$ r2 V' H. S, N
6.5.2 语句级触发器与行级触发器 190
& I9 ~, E7 V6 Z4 q' ^6.5.3 BEFORE触发器与AFTER触发器 193$ v- z2 q8 A6 |
6.5.4 删除触发器 1942 A7 ?- b4 G/ b4 v p3 s3 \
6.5.5 触发器的行为 194
! G8 }. x. W) T" A6.5.6 触发器函数中的特殊变量 1950 j: _4 s- _$ y; L: s; W) r
6.6 事件触发器 196' t, B* ^) H& i7 I
6.6.1 创建事件触发器 198
. m+ `3 Z5 `5 Y9 U- Z6.6.2 修改事件触发器 2014 R5 @4 r! |- w. n
6.7 表空间 201
/ D& I3 h5 x5 D6.7.1 什么是表空间 201! W6 R" n1 n5 g4 j7 `# N
6.7.2 表空间的使用方法 201
) b+ K: }4 G- t2 i6.8 视图 202
$ r3 R2 @3 S: A t6.8.1 什么是视图 202
& q. c# U( d/ M# ]6.8.2 创建视图 203
& f% p! ]( Q- ^0 N( `6 G6.8.3 可更新视图 204
# w# }9 c$ b5 Z c) u' {, S6.9 索引 2078 o2 f- Z9 n3 q; M y3 h( ^
6.9.1 索引简介 207# |/ V0 q+ F: ?5 ^$ r
6.9.2 索引的分类 2074 ^' Y7 i, f3 D/ j. w# f
6.9.3 创建索引 208
! y% z, H1 M! P: L8 V* I6.9.4 并发创建索引 209! U6 f/ b) }% m. {1 d' [( r. w
6.9.5 修改索引 211
5 h: z+ _3 i5 K+ o3 ?6.9.6 删除索引 212
$ |8 l; Y5 {3 E1 B T& ~: W0 ~6.10 用户及权限管理 213
' G' ^2 O2 d; k. H6.10.1 用户和角色 213
' K1 v% I/ c+ n3 C6.10.2 创建用户和角色 213, ~5 ?* w# O8 ]# w
6.10.3 权限的管理 214# a' T ]! [! R3 b/ B
6.10.4 函数和触发器的权限 219: N. M+ T& ~+ ]
6.10.5 权限的总结 220$ L3 @+ r( J1 ]3 y- n
6.10.6 权限的示例 2205 s+ O4 R% X2 j# l# P
6.11 事务、并发和锁 220
; T% s e% X7 X1 G4 z6.11.1 什么是ACID 221) \7 |# s) @7 u
6.11.2 DDL事务 221
$ T, k$ B9 u" j" A# F* b( U6 E6.11.3 事务的使用方法 221
/ B/ \0 b" D% o& q) u6.11.4 SAVEPOINT 222
; m9 i% j m$ P6 I3 K- F6 j) C# v6.11.5 事务隔离级别 224
% y ^; z5 I+ M6.11.6 两阶段提交 225
" v- r7 K1 X8 R- C- `8 t- f/ g6.11.7 锁机制 226
: B( b7 ]# H, |0 E( V* R1 T6.11.8 死锁及防范 230
9 F3 v! x! u" d- V8 H1 D$ y5 `6.11.9 表级锁命令LOCK TABLE 230$ J- r ]3 B/ |* h& u5 ~/ a
6.11.10 行级锁命令 231
. R- D) i& [) P! G6.11.11 锁的查看 231
" \$ ~! j& m0 j/ [& O( D$ ?3 u+ I6.12 小结 238
* X0 K0 R+ r- `& c/ G6 \6 e第7章 PostgreSQL的核心架构 239
- [" {! e& |6 | a2 g) v. o7.1 进程及内存结构 2395 m, v/ d0 a8 g S! B
7.1.1 进程和内存架构图 239
6 C7 A! u& f+ b& Z9 ]' I; M7.1.2 主进程Postmaster介绍 240; u L! V2 w7 g$ s4 ^- P
7.1.3 Logger系统日志进程介绍 241/ v x* x9 M- g4 X. T9 R: W
7.1.4 BgWriter后台写进程介绍 241( ?1 W; g$ |/ T( \
7.1.5 WalWriter预写式日志写进程介绍 241
. L: m0 J, v* b' o0 J7 I# {9 D7.1.6 PgArch归档进程 2422 z0 X$ {9 n, Z8 \
7.1.7 AutoVacuum自动清理进程 242% f& @: |( w- n6 h$ v
7.1.8 PgStat统计数据收集进程 242* h* }9 V& T9 k3 y) L
7.1.9 共享内存 2421 X' q3 p0 w% F r- K
7.1.10 本地内存 243
9 U' k# p1 O/ k) Z7 i$ Y# v7.2 存储结构 2437 D) g3 F: k! y- c% v
7.2.1 逻辑存储结构 243
8 b" X- S6 u: f; e# L: O8 I0 i% L7.2.2 软件目录结构 244
# } I1 }: Z6 A0 r% ~! Q# R- {" @4 [7.2.3 物理存储结构 2443 O/ m. E" W3 Q# v- A$ o
7.2.4 表空间的目录 2465 J6 m \* \% s: T5 q; b; o
7.3 应用程序访问接口 247
* @9 T" m. ~! R7.3.1 访问接口总体图 247
# g4 Q$ J6 h9 F- k# o7.3.2 不同编程语言的PostgreSQL驱动介绍 248
/ T0 v4 w8 i/ y& i; x7.4 小结 249+ x* \+ A. I+ ^! F* r
第8章 服务管理 250
, q. d+ m3 a2 p( N8.1 服务的启停及原理 250
9 `. ?% @- T! d! ^! G1 O1 l8.1.1 服务的启停方法 250
% i* B. p- \7 x" A0 W8 }; W: q7 O8.1.2 pg_ctl工具 251
2 Q) _5 A5 N0 t9 m! a7 D8.1.3 信号 255: F& R4 @8 D3 w9 R' e
8.1.4 postgres及单用户模式 255$ ^; J9 l. {4 D& q) E* k
8.2 服务配置介绍 256
4 v6 W8 ] y" O+ K& t8.2.1 配置参数 256
0 `( {. U7 P8 Q8.2.2 连接配置项 259( }6 C% R, L: ]( a
8.2.3 内存配置项 2611 b# f$ J0 R( N+ S
8.2.4 预写式日志的配置项 262
! \6 N' ^* i( N8.2.5 错误报告和日志项 264
4 A& [) U$ I S' O8.3 访问控制配置文件 268
0 z$ O2 W9 Y* q7 o1 a; r8.3.1 pg_hba.conf 文件 268
2 i; y5 E* C( O) |: z" r8 x8.3.2 认证方法介绍 269
3 o' k# G3 \5 [# o3 m8.3.3 认证方法实战 270
6 M: Y q7 u5 ?( T" d8.4 备份和还原 271! r" ?$ T# Q! ]: ^6 l7 A
8.4.1 逻辑备份 271
! R# A8 o) H4 {4 }; }8 a* Y: l1 V8.4.2 pg_dump命令 272
8 o |; K( Y4 o8.4.3 pg_restore命令 275( d( X: ]1 {5 ~. P2 O4 P
8.4.4 pg_dump和pg_restore应用示例 278
" p3 {& M9 b. ]' t/ G: Z d8.4.5 物理备份 279
3 ~/ ]4 c/ H5 I8.4.6 使用LVM快照进行热备份 2798 h+ _% b! W3 P' Q/ ~" u- V) J
8.5 常用的管理命令 282+ D" }9 U. T; @+ A3 y- Q
8.5.1 查看系统信息的常用命令 282
! c6 h' |' V1 _4 k1 G8.5.2 系统维护常用命令 288. h+ x [4 I3 e( N! m. {
8.6 小结 289
1 P2 _0 B5 l) I. @0 q4 C- J, U第三篇 提高篇 java8.com
8 _0 ~0 ^" y+ g, g$ I. ?# d+ ~! w* G第9章 PostgreSQL执行计划 292
; @- I/ T. b' \* Y. S, }9.1 执行计划的解释 292 ]% x1 v( h# s. U* \
9.1.1 EXPLAIN命令 2927 c- W) H# r( _8 V3 u6 d
9.1.2 EXPLAIN输出结果解释 293
7 R2 Q9 E; l' v8 [9.1.3 EXPLAIN使用示例 294; g2 [% N0 `5 b/ s
9.1.4 全表扫描 297' H3 E) t( a& P3 E
9.1.5 索引扫描 297
2 P3 Y! F0 D. B! Y9.1.6 位图扫描 2975 w+ p7 P8 g7 [/ V
9.1.7 条件过滤 298
; e4 f* \) G( V9.1.8 嵌套循环连接 299
8 v3 l! T$ [: ]; a9.1.9 散列连接 2994 p( E/ i( _! ^; n+ S
9.1.10 合并连接 300
" i5 h! O: o3 m- o4 p! Y7 U& d# u. ?9.2 与执行计划相关的配置项 301
* T( n5 S8 w. X$ Z5 I9.2.1 ENABLE_*参数 301
1 |4 d0 @5 [4 s8 c; q7 G: R9.2.2 COST基准值参数 3012 Y8 I q& U U7 L6 K0 o( Z
9.2.3 基因查询优化的参数 302
# c2 f0 N5 P4 ^, I: m5 w9.2.4 其他执行计划配置项 303
- k2 X Y! U( T, D6 g9.3 统计信息的收集 304
M6 |) T2 C9 C; V9.3.1 统计信息收集器的配置项 3046 n# b1 L2 k1 F& ?. Q
9.3.2 SQL执行的统计信息输出 3040 j; M m& p" n6 I0 I
9.3.3 手动收集统计信息 305" I% e* @; l: D' N% [6 B
9.4 小结 306
9 R c% t$ W, \第10章 PostgreSQL中的技术内幕 3072 P- a; @# w4 ^. @
10.1 表中的系统字段 307$ }8 r; L3 h; w3 A }+ r
10.1.1 oid 308) f1 a& l' p* s1 r
10.1.2 ctid 310- Z6 W! y4 n7 s' P% e5 z9 a
10.1.3 xmin、xmax、cmin、cmax 311
& j6 Y0 K. u2 r7 g6 W! M10.2 多版本并发控制 3129 F4 `/ o4 z) x# F/ Z ]
10.2.1 多版本并发控制的原理 3124 Q' J% I& d8 p4 H& R$ i# Y
10.2.2 Postg
2 y: v) O K- F$ f3 |" ~6 P5 _( V/ f$ K$ a1 Z; H0 H
百度云盘下载地址(完全免费-绝无套路):
7 P% t* E1 O. ?* l# T$ K! K |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|