Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 频繁更新数据集中的Postgres xml数据类型_Sql_Xml_Postgresql_Rss - Fatal编程技术网

Sql 频繁更新数据集中的Postgres xml数据类型

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

我正在开发一个RSS阅读器,它将RSS提要中的信息存储到
提要
表中。我想每隔15分钟重新获取RSS提要(关于ETag和其他HTTP缓存头),以检测任何更新。我预计大约有30000个RSS提要,每个提要大约有100个条目

对于这个庞大且频繁更新的数据集,使用Postgres
xml
数据类型合理吗?或者我应该解析代码中获取提要并将其存储在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.
);