8

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

正文实际上可以是任意数量的文本,我不会在意搜索它。

当在我最常访问的表(电子邮件)之一中不经常使用的潜在大列时,我是否应该担心任何性能问题?

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

4

2 回答 2

13

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

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

于 2011-09-05T16:56:17.830 回答
10

不,你不必担心这个。

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

手册中引用

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

这里提到的三种类型charvarchartextchar“空白填充类型”在哪里。

于 2011-09-05T16:55:32.907 回答