关于Redshift列VARCHAR(MAX)的问题

0

【以下的问题经过翻译处理】 一位客户建Redshift表时希望包含一列很宽的varchar(65535)列(尽管只有一小部分数据会这么大),但我们的最佳实践建议列大小尽量用最小可能的(否则可能会造成内存浪费)。

他们咨询以下问题:

  1. 这是否意味着只有当我们在列中存储了大量的长字符串时,使用具有大的VARCHAR(MAX) 才会影响性能?
  2. 如果说90%的数据只有20个字节,这样是否会有任何问题?

我找到一篇支持文章中提到在查询处理过程中,后面空白的字节会占用整个长度的内存,但仍然不确定怎样回答上述问题。

profile picture
EXPERTO
preguntada hace 5 meses19 visualizaciones
1 Respuesta
0

【以下的回答经过翻译处理】 宽列的影响主要出现在数据查询时。即如果用户在表中查询其他列,那宽列不会影响查询性能。如果该列经常被查询,最好的做法是将相关部分信息分析出来并加载到专用的、合适大小的列中,来满足出报表的需求。您可以将原始数据保留在当前列中,但建议用户不要经常访问这些列。

profile picture
EXPERTO
respondido hace 5 meses

No has iniciado sesión. Iniciar sesión para publicar una respuesta.

Una buena respuesta responde claramente a la pregunta, proporciona comentarios constructivos y fomenta el crecimiento profesional en la persona que hace la pregunta.

Pautas para responder preguntas