Navicat 博客

倒排索引简介 2021 年 6 月 25 日,由 Robert Gravelle 撰写

像大多数数据库开发人员一样,你可能已经编写了相当多的查询,这些查询在文本或二进制数据中搜索就如同大海捞针。我知道我有!也许比针对数据库编写的 SELECT 语句更重要的是它包含的索引。为此,倒排索引可以大大有助于以快速的方式访问大量数据。在今天的文章中,我们将以 MySQL 为例,学习什么是倒排索引,以及如何在数据库中使用它们。

关系数据库事务中的对象锁定 - 第 3 部分 2021 年 6 月 22 日,由 Robert Gravelle 撰写

避免死锁或将死锁减至最少

在关系数据库系统(RDBMS)中,死锁是两个并发事务无法进行的情况,因为每个事务都在等待另一个释放锁定。在本系列的第 1 部分中,我们知道了什么是关系数据库中的对象锁定、不同类型的锁定和死锁。然后,在第 2 部分中,我们比较了悲观锁定和乐观锁定的优缺点。在本篇文章中,我们将探讨导致死锁的几个原因,以及避免死锁或至少将死锁减至最少的策略。

关系数据库事务中的对象锁定 - 第 2 部分 2021 年 6 月 16 日,由 Robert Gravelle 撰写

悲观与乐观锁定

关系数据库系统(RDBMS)在修改(例如,更新或删除)表记录时采用各种锁定策略来强制实施事务 ACID 属性。有时,当两个并发事务无法进行时,可能会发生死锁,因为每个事务都在等待对方释放锁定。在本系列的第 1 部分中,我们知道了什么是关系数据库中的对象锁定、不同类型的锁定和死锁。在今天的后续文章中,我们将比较悲观锁定和乐观锁定的优缺点。

关系数据库事务中的对象锁定 2021 年 6 月 8 日,由 Robert Gravelle 撰写

第 1 部分:概述、锁粒度和死锁

最近,我们有一些关于数据库事务的文章,有关强制执行四个 ACID 属性(原子性、一致性、隔离性、持久性)。在今天的文章中,我们将研究关系数据库(RDBMS)用于强制执行 ACID 属性的另一种机制,即对象锁定。具体来说,我们将了解它是什么,它在 RDBMS 事务中扮演什么角色,以及锁定可能导致的一些副作用。虽然数据库对象锁定可能是一个相当技术性和复杂的主题,但我们会以浅白的用语解释它并尽可能简单易明。

将 SQL COUNT() 函数与 GROUP BY 一起使用 2021 年 5 月 28 日,由 Robert Gravelle 撰写

早在 2020 年 8 月,SQL Count() 函数的多种用法文章概述了 COUNT 的许多输入参数变体。使用 COUNT() 函数的另一种方法是将其与 GROUP BY 子句结合使用。将 COUNT() 函数与 GROUP BY 结合使用对于根据各种分组分解计数很有用。在今天的文章中,我们将通过使用 Navicat Premium 作为我们的数据库客户端来查询 Sakila 示例数据库,来学习如何按照不同的准则对计数进行分组。

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