关于Redshift列VARCHAR(MAX)的问题

0

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

他们咨询以下问题:

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

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

profile picture
EXPERTE
gefragt vor 5 Monaten19 Aufrufe
1 Antwort
0

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

profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen