PostgreSQL大文本列性能

时间:2011-09-05 16:19:19

标签: postgresql rails-postgresql

我将已发送的电子邮件存储在RDBMS中,包括地址,地址和电子邮件正文。

身体实际上可以是任意数量的文本,我也不会在意它。

在我最常访问的一个表(电子邮件)中,当一个可能很大的列没有经常使用时,我是否应该担心性能问题?

(这个项目是用Rails编写的)

2 个答案:

答案 0 :(得分:8)

postgresql将大对象存储在辅助区域中。你可以在这里阅读:TOAST。主要关注点是将大对象保留在返回许多行的选择查询列表之外,这样就可以避免访问辅助存储区域。

如果您决定在正文中添加搜索功能,则需要使用全文策略,这在Postgres中得到了很好的支持,但有点不直观。该主题在手册中获得full chapter处理。

答案 1 :(得分:7)

不,你不必担心。

从技术上讲,例如,存储器之间的存储没有区别。 varchar(5)text列。

来自manual

的引用
  

这三种类型之间没有性能差异,除了使用空白填充类型时增加的存储空间

提到的三种类型有charvarchartext。其中char是“空白填充类型”。