37得票5回答
如何在InnoDB中锁定尚不存在的行?

如何保证在没有任何 SELECT 和 INSERT 语句之间的干扰的情况下,可以搜索我的数据库中是否存在一个用户名,并将该用户名作为新行插入到数据库中? 几乎就像我正在锁定一个不存在的行。 我想锁定不存在的具有用户名“Foo”的行,以便我现在可以检查它是否存在于数据库中,并将其插入到数据库...

13得票3回答
SQL Server如何知道锁定视图对象?

我在 SQL Server 2008 中有一个视图 V,它基本上是查看表 A 和 B 的内容。create view V as select * from A union all select * from B 从V中读取会导致查询对基本表采取意向共享锁(IS lock...

11得票4回答
Oracle在执行DML语句时会锁定整个表还是只有行?

当我尝试向数据库表中插入/更新内容时,Oracle会锁定整个表还是只锁定正在插入/更新的行? 这是否可以通过外部配置来控制?

9得票4回答
InnoDB隔离级别和锁定

我正在阅读一本关于InnoDB事务的手册,但仍然有很多不清楚的地方。例如,我不太理解以下行为: -- client 1 -- client 2 mysql> create table simple (col int) ...

9得票1回答
Postgres何时及如何使用“transactionid”锁?

我遇到了需要在9.6上解决此问题的情况,但是欢迎提供任何关于9.6或更新版本信息的帮助。 我的应用程序在尝试获取另一个正在运行的事务上的隐式transactionid锁时遇到了阻塞数据库调用的问题。我不明白的是为什么会这样。 我知道每个事务在开始时都会对它自己的事务ID(pg_locks)...

8得票3回答
数据库中显式锁和隐式锁有什么区别?

数据库中显式锁和隐式锁有什么区别?

8得票1回答
MongoDB中的事务锁

我正在尝试开发一个预订系统,可以在检查可用性后预订不同的资产。该系统首先尝试从数据库中读取记录,并检查所预订的时段是否可用。如果可用,则通过向系统插入新记录来为其预订该时段。 现在的问题是,如果有多个用户请求预订,由于对数据库的多个请求可能交错,因此可能会出现这种情况。 User 1 -&...

8得票1回答
Postgres长时间运行的事务占用了父分区表的锁

TL;DR: 我们有长时间运行的导入过程,即使没有直接引用父表,它似乎仍然持有分区表的锁。 背景 在我们的系统中,我们有“库存”和“库存项目”。 库存通常有大约200k个项目,并且对于我们的访问模式来说,使用本机分区(我们采用Postgres 12)按inventory_id对invent...

7得票2回答
如何在Django中更新对象或者在其被删除时退出程序

我是一个 Django 应用程序,可以将对象保存到数据库中,并且有一个 celery 任务,定期对其中一些对象进行处理。问题在于,用户可能会在 celery 任务选择要处理的对象之后但在 celery 任务实际完成处理和保存之前删除对象。因此,当 celery 任务调用 .save() 时,即...