Navicat 博客

PostgreSQL 中的多版本并发控制 2023 年 5 月 12 日,由 Robert Gravelle 撰写

大部分的数据库系统都使用锁定来进行并发控制,而 PostgreSQL 的做法就略有不同。它使用多版本模型(也称为多版本并发控制,Multi-Version Concurrency Control,简称 MVCC)来维持数据的一致性。因此,在查询数据库时,无论基础数据的当前状态如何,每个事务都会看到一段时间前的数据快照。这可以防止事务看到由其他并发事务正在更新同一数据而引起的数据不一致,也为每个数据库会话提供事务隔离。这篇文章将简要概述 MVCC 协议的工作原理,并介绍 MVCC 方法的一些优缺点。

在 PostgreSQL 中设置查询超时 2023 年 5 月 5 日,由 Robert Gravelle 撰写

Navicat Monitor 3 的查询分析器画面顶部,有一个图表显示等待时间最长的查询:

Screenshot_Navicat_Monitor_LongRunningQueries (102K)

标识滞后的查询非常重要,因为它们可以让一切陷入瘫痪。

使用触发器记录审核线索 2023 年 4 月 28 日 ,由 Robert Gravelle 撰写

数据库审核的概念是想知道何時何人访问了你的数据库表,以及对它们进行了哪些修改。它不仅被认为是任何企业级应用程序的标准最低要求,而且还是银行和网络安全等许多领域的法律要求。数据库审核线索对于调查各种应用程序问题至关重要,例如未经授权的访问、有问题的配置更改等等。

在今天的文章中,我们将在 MySQL 的 Sakila 示例数据库 添加日志记录以审核 rental 表。这是一个重要的表,因为该数据库代表了 DVD 租赁店的业务流程。

从关系数据库中选择非重复值 2023 年 4 月 14 日,由 Robert Gravelle 撰写

表列(例如存储名字的列)可能有许多重复值。如果你想列出不同的(非重复)值,则需要一种无需编写复杂的 SQL 语句就能做到的方法。在 ANSI SQL 兼容的数据库(如 PostgreSQL、SQL Server 和 MySQL)中,从列中选择非重复值的方法是使用 SQL DISTINCT 子句。它会从 SELECT 语句的结果集中删除重复项,只留下唯一值。在这篇文章中,我们将学习如何使用它。

SQL 中命名约定的快速指南 - 第 3 部分 2023 年 4 月 6 日 ,由 Robert Gravelle 撰写

存储过程、函数和视图

欢迎来到关于 SQL 命名约定的第 3 部分也是最后一部分。在第 1 部分中,我们介绍了命名表的规则,第 2 部分则讲述了列名的约定。而本文将提供命名其他数据库对象(如存储过程、函数和视图)的一些准则。

Navicat 文章
频道条目
分享
文章归档