如对于多租户数据库的常用方法,我在每一个表中,而这又是相同的SUSER_SID一个TenantId TenantId的数据类型,并享有基于在由TenantId = suser_sid()过滤的表上。索引和链接到SUSER_SID()在多租户数据库
虽然这对大部分工作正常,因为我的suser_sid()返回一个数据类型varbinary(85),TenantId的自然数据类型是varbinary(85)。
由于显而易见的原因,这并不适合包含在主键或外键关系中,因为我认为在主索引中使用可变长度是一个坏主意(如果我错了,请告诉我) 。
将使用二进制(85)为TenantId是一个更好的主意吗?或者我应该使用bigint,并且像这样转换(bigint,suser_sid())并且与之进行比较,并且希望不同租户不会有冲突。
对于一个85位的二进制标识符,16字节的GUID是否过大。它会比二进制(85)提供更好的索引性能吗? – user1489313
我还没有试过,所以现在没有结果分享。但是如何在使用二进制作为列数据类型时生成唯一值。从应用程序的角度来看,guid具有相同的类型,二进制不是这种情况。如果努力确保二进制值的唯一性并且超过我们可以考虑使用的指南。 – Saravanan