STRING(MAX) 的性能差异?

Mik*_*iss 5 google-cloud-platform google-cloud-spanner

STRING(MAX)使用而不是像这样的固定限制是否会导致性能损失(或改进)STRING(256)

Mik*_*iss 7

没有。STRING(MAX)与引擎盖下有限长度的字符串完全相同。同样适用于BYTES(MAX). 所以不存在性能差异。

使用固定限制的主要原因是您希望在架构中强制执行逻辑约束。例如:如果您使用STRING来存储 2 个字母的国家/地区代码,那么您可能需要使用STRING(2)

请注意,根据docs,您始终可以更改字符串的长度限制,但有一个警告除外:

  • 支持的架构更新STRING:增加或减少 a或类型的长度限制 BYTES(包括 to MAX),除非它是由一个或多个子表继承的主键列。