Sql 频繁更新数据集中的Postgres xml数据类型
我正在开发一个RSS阅读器,它将RSS提要中的信息存储到Sql 频繁更新数据集中的Postgres xml数据类型,sql,xml,postgresql,rss,Sql,Xml,Postgresql,Rss,我正在开发一个RSS阅读器,它将RSS提要中的信息存储到提要表中。我想每隔15分钟重新获取RSS提要(关于ETag和其他HTTP缓存头),以检测任何更新。我预计大约有30000个RSS提要,每个提要大约有100个条目 对于这个庞大且频繁更新的数据集,使用Postgresxml数据类型合理吗?或者我应该解析代码中获取提要并将其存储在Postgres表中的各个列中的相关字段吗 在SQL中: create table channel ( id serial primary key, xml x
提要
表中。我想每隔15分钟重新获取RSS提要(关于ETag和其他HTTP缓存头),以检测任何更新。我预计大约有30000个RSS提要,每个提要大约有100个条目
对于这个庞大且频繁更新的数据集,使用Postgresxml
数据类型合理吗?或者我应该解析代码中获取提要并将其存储在Postgres表中的各个列中的相关字段吗
在SQL中:
create table channel (
id serial primary key,
xml xml
);
vs
RSS提要不会每15分钟更改一次,我只想经常检查以确保捕获任何更新。正因为如此,suppress\u redundant\u updates\u trigger
似乎是一个不错的选择,但我不确定它是否适用于xml
数据类型,因为在Postgres中无法检查xml
类型之间的相等性。将xml
转换为文本并以这种方式检查相等性是否有意义
我更喜欢使用
xml
类型,因为这意味着我不必预测RSS提要的内容。我可以使用xpath
获取所有信息并动态派生所需的信息。在频繁更新的大型数据集中使用xml
类型会是一个坏主意吗?如果要使用suppress\u redundary\u updates\u trigger
来提高速度,正常行为(没有此触发器)会使更新运行得更快,因为不需要检查,并且在某些情况下也很有用。--如果您想使用触发器最小化:也不要这样做。大的xml
值对我来说毫无意义(对PostgreSQL也毫无意义)。重要的是字节大小。相比之下,目前大约是84kB。我会说那将是烤f.ex.你想微调一下吗。还有可能。-fillfactor
with将解决您的问题(但会占用一些磁盘空间)。。。。。。但我不是调整这些的专家。你可能想问一个具体的问题。可能是开着。
create table channel (
id serial primary key,
title text,
link text,
description text,
-- etc.
);