我有一个包含HTML内容的列的表,并且相对大于其他列。
拥有一个大小的列会降低此表中的查询速度吗? 我需要将这些大字段放在另一张桌子上吗?
答案 0 :(得分:2)
TOAST技术应该为您处理这个问题,在给定大小之后,存储将在_toast表中透明地设置,并且完成一些内部操作以避免减慢查询速度(检查给定链接)。 / p>
但是当然如果你总是检索整个内容,你将会在检索中浪费时间。并且很明显,此表中未使用此列的请求不会受此列大小的影响。
答案 1 :(得分:0)
数据库越大,查询越慢。总是
答案 2 :(得分:0)
如果您有大型列,则可能会有更多的磁盘I / O,因为缓存列本身会占用更多空间。但是,将这些放在不同的表格中可能无法缓解此问题(除了下面的问题)。如果您不明确需要实际的HTML数据,请确保不要选择它。
有时列的排序可能很重要,因为存储行的方式,如果你真的担心它,将它存储为最后一列,以便在选择其他列时不会被分页
答案 3 :(得分:0)
你必须看看Postgres如何在内部存储东西,看你是否需要拆分它,但是一个非常大的字段可能会导致数据存储在磁盘上的方式被分解,从而增加了它的时间需要访问它。
此外,为一条记录返回100字节的数据副10000字节数据显然会变慢,记录越慢。如果您正在进行SELECT *,如果您通常不需要HTML,这显然是一个问题。
另一个考虑因素可能是在noSQL数据库中查看HTML信息。这种文件信息是他们擅长的。没有理由你不能同时使用实际数据库获取某些信息,也不能同时使用noSQL数据库获取其他信息。