gpt4 book ai didi

mysql - 在更新 Multi-Tenancy 数据库中的嵌套集时是否有替代方法来锁定表?

转载 作者:行者123 更新时间:2023-11-30 23:22:19 24 4
gpt4 key购买 nike

我正在使用单个数据库开发 Multi-Tenancy 应用程序。一些事物(类别)将允许嵌套,在检查嵌套集方法之前,我已经开始考虑父子关系。

我对嵌套集的主要关注是(显然)需要在从树中添加或删除项目时锁定表。在 Multi-Tenancy 场景中,一个用户的类别修改会对系统上的所有其他用户产生严重的性能影响。

是否有其他方法确保受影响的行不被访问?所有行都将由一个共同的 tenant_id 标识。

提前感谢您提供的任何建议。

最佳答案

如果您正在修改一行,该行将被锁定 - 没有办法绕过它。但我的猜测是你的意思是在修改某些行时防止锁定整个表。要防止这种情况,请使用 InnoDB 引擎而不是 MyIsam。 MyIsam 在对任何行进行更改时锁定整个表,而 InnoDB 则不会。

请参阅:“为了实现非常高的锁定速度,MySQL 对除 InnoDB、BDB 和 NDBCLUSTER 之外的所有存储引擎都使用表锁定(而不是页、行或列锁定)。” http://dev.mysql.com/doc/refman/5.0/en/table-locking.html

关于mysql - 在更新 Multi-Tenancy 数据库中的嵌套集时是否有替代方法来锁定表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14969696/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com