gpt4 book ai didi

mysql - 过滤 Multi-Tenancy MySQL 数据库的最佳方法是什么?

转载 作者:行者123 更新时间:2023-11-29 02:32:39 24 4
gpt4 key购买 nike

在 MySQL 中,我只有一个数据库和一个模式。在 Microsoft Sql Server 中,建议使用“租户 View 过滤器”,因此在 Microsoft Sql Server 中,这正是我所需要的。

CREATE VIEW TenantEmployees AS 
SELECT * FROM Employees WHERE TenantID = SUSER_SID()

在 MySQL 中完成相同任务的最佳方法是什么?如果运行良好,则等效于“租户 View 过滤器”将起作用。

谢谢!!

最佳答案

您建议的查询(我可以在 MSDN 中找到)后面有文本准确解释了它的假设。特别是,它提到它假定 Employees 表中一行的“所有者”在根据用户 SID 填充的 TenantID 字段中指定(s) 您正在分区。

这意味着您可以复制相同的想法,无论您决定以何种方式实现数据,只要您明确定义了数据分区并且确切知道如何将其与您正在为其创建 View 的表相关联。

特别是,如果您将系统配置为每个分区都使用自己的凭据访问数据库,则可以使用 MySQL 的 CURRENT_USERUSER 结构作为 ID定义分区和创建 View 的查询与 MSDN 中建议的基本相同,将 SUSER_ID 替换为 CURRENT_USER

但是如果您使用同一个用户从所有分区进行访问,那么建议的方法在任一数据库服务器上都无关紧要。

关于mysql - 过滤 Multi-Tenancy MySQL 数据库的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10660418/

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