文章 2018-10-02 来自:开发者社区

PostgreSQL 10.1 手册_部分 II. SQL 语言_第 14 章 性能提示_14.4. 填充一个数据库

14.4. 填充一个数据库 14.4.1. 禁用自动提交 14.4.2. 使用COPY 14.4.3. 移除索引 14.4.4. 移除外键约束 14.4.5. 增加maintenance_work_mem 14.4.6. 增加max_wal_size 14.4.7. 禁用 WAL 归档和流复制 14.4.8. 事后运行ANALYZE 14.4.9. 关于pg_dump的一些注记 第一次填...

文章 2018-10-02 来自:开发者社区

PostgreSQL 10.1 手册_部分 II. SQL 语言_第 14 章 性能提示_14.3. 用显式JOIN子句控制规划器

14.3. 用显式JOIN子句控制规划器 我们可以在一定程度上用显式JOIN语法控制查询规划器。要明白为什么需要它,我们首先需要一些背景知识。 在一个简单的连接查询中,例如: SELECT * FROM a, b, c WHERE a.id = b.id AND b.ref = c.id; 规划器可以自由地按照任何顺序连接给定的表。例如,它可以生成一个使用WHERE条件a.id = b....

文章 2018-10-02 来自:开发者社区

PostgreSQL 10.1 手册_部分 II. SQL 语言_第 14 章 性能提示_14.2. 规划器使用的统计信息

14.2. 规划器使用的统计信息 14.2.1. 单列统计 14.2.2. 扩展统计 14.2.1. 单列统计 如我们在上一节所见,查询规划器需要估计一个查询要检索的行数,这样才能对查询计划做出好的选择。 本节对系统用于这些估计的统计信息进行一个快速的介绍。 统计信息的一个部分就是每个表和索引中的项的总数,以及每个表和索引占用的磁盘块数。这些信息保存在pg_class表的rel...

文章 2018-10-02 来自:开发者社区

PostgreSQL 10.1 手册_部分 II. SQL 语言_第 14 章 性能提示_14.1. 使用EXPLAIN

14.1. 使用EXPLAIN 14.1.1. EXPLAIN基础 14.1.2. EXPLAIN ANALYZE 14.1.3. 警告 PostgreSQL为每个收到查询产生一个查询计划。 选择正确的计划来匹配查询结构和数据的属性对于好的性能来说绝对是最关键的,因此系统包含了一个复杂的规划器来尝试选择好的计划。 你可以使用EXPLAIN命令察看规划器为任何查询生成的...

文章 2018-10-02 来自:开发者社区

PostgreSQL 10.1 手册_部分 II. SQL 语言_第 13 章 并发控制

第 13 章 并发控制 目录 13.1. 介绍 13.2. 事务隔离 13.2.1. 读已提交隔离级别 13.2.2. 可重复读隔离级别 13.2.3. 可序列化隔离级别 13.3. 显式锁定 13.3.1. 表级锁 13.3.2. 行级锁 13.3.3. 页级锁 13.3.4. 死锁 13.3.5. 咨询锁 13.4. 应用级别的数据完整性检查 13.4.1. 用可...

文章 2018-10-02 来自:开发者社区

PostgreSQL 10.1 手册_部分 II. SQL 语言_第 13 章 并发控制_13.6. 锁定和索引

13.6. 锁定和索引 尽管PostgreSQL提供对表数据访问的非阻塞读/写, 但并非PostgreSQL中实现的每一个索引访问方法当前都能够提供非阻塞读/写访问。 不同的索引类型按照下面方法操作: B-tree、GiST和SP-GiST索引 短期的页面级共享/排他锁被用于读/写访问。每个锁银行被取得或被插入后立即释放锁。 这些索引类型提供了无死锁情况的最高并发性。 Hash索引 .....

文章 2018-10-02 来自:开发者社区

PostgreSQL 10.1 手册_部分 II. SQL 语言_第 13 章 并发控制_13.5. 提醒

13.5. 提醒 一些 DDL 命令(当前只有TRUNCATE和表重写形式的ALTER TABLE)对于 MVCC 不是安全的。这意味着在截断或者重写提交之后,该表将对并发事务(如果它们使用的快照是在 DDL 命令提交前取得的)呈现出空表的形态。这只对没有在该 DDL 命令开始前访问所讨论的表的事务存在问题 — 任何在 DDL 命令开始前访问过该表的事务将持有至少一个 ACCE...

文章 2018-10-02 来自:开发者社区

PostgreSQL 10.1 手册_部分 II. SQL 语言_第 13 章 并发控制_13.4. 应用级别的数据完整性检查

13.4. 应用级别的数据完整性检查 13.4.1. 用可序列化事务来强制一致性 13.4.2. 使用显式锁定强制一致性 对于使用读已提交事务的数据完整性强制业务规则非常困难,因为对每一个语句数据视图都在变化,并且如果一个写冲突发生即使一个单一语句也不能把它自己限制到该语句的快照。 虽然一个可重复读事务在其执行期间有一个稳定的数据视图,在使用MVCC快照进行数据一致性检查时也有一个小问题...

文章 2018-10-02 来自:开发者社区

PostgreSQL 10.1 手册_部分 II. SQL 语言_第 13 章 并发控制_13.3. 显式锁定

13.3. 显式锁定 13.3.1. 表级锁 13.3.2. 行级锁 13.3.3. 页级锁 13.3.4. 死锁 13.3.5. 咨询锁 PostgreSQL提供了多种锁模式用于控制对表中数据的并发访问。 这些模式可以用于在MVCC无法给出期望行为的情境中由应用控制的锁。 同样,大多数PostgreSQL命令会自动要求恰当的锁以保证被引用的表在命令的执行过程中 不会以一种不兼容的方式删...

文章 2018-10-02 来自:开发者社区

PostgreSQL 10.1 手册_部分 II. SQL 语言_第 13 章 并发控制_13.2. 事务隔离

13.2. 事务隔离 13.2.1. 读已提交隔离级别 13.2.2. 可重复读隔离级别 13.2.3. 可序列化隔离级别 SQL标准定义了四种隔离级别。最严格的是可序列化,在标准中用了一整段来定义它,其中说到一组可序列化事务的任意并发执行被保证效果和以某种顺序一个一个执行这些事务一样。其他三种级别使用并发事务之间交互产生的现象来定义,每一个级别中都要求必须不出现一种现象。注意由于可序列...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

数据库

数据库领域前沿技术分享与交流

+关注