Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.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
Postgresql Hstore vs多对多关系搜索性能_Postgresql_Hstore_Postgresql Performance - Fatal编程技术网

Postgresql Hstore vs多对多关系搜索性能

Postgresql Hstore vs多对多关系搜索性能,postgresql,hstore,postgresql-performance,Postgresql,Hstore,Postgresql Performance,比较hstore性能的完全假设性问题是postgress 假设每个用户都有一个追随者列表。有两种方法可以实现它 与“跟随者”表的多对多关系(用户id、跟随者id) hstore列,其中的值是跟随者的ID。(附摘要索引) 如果我想找到跟随某个用户的所有用户,哪个版本会执行得更快 从follower\u id='1234'中选择follower\u id 从用户位置(数据@>'followers=>'1234')选择用户id 在现实生活中,对于选项b,我们可能还会维护一个用户所遵循的所有用户的列表—

比较hstore性能的完全假设性问题是postgress 假设每个用户都有一个追随者列表。有两种方法可以实现它

  • 与“跟随者”表的多对多关系(用户id、跟随者id)
  • hstore列,其中的值是跟随者的ID。(附摘要索引)
  • 如果我想找到跟随某个用户的所有用户,哪个版本会执行得更快

  • 从follower\u id='1234'中选择follower\u id
  • 从用户位置(数据@>'followers=>'1234')选择用户id

  • 在现实生活中,对于选项b,我们可能还会维护一个用户所遵循的所有用户的列表——为了这个问题,我们假设我们没有这样做

    创建虚拟数据。测试一下。比较。我知道这不是你希望听到的,但是确保你在演出前考虑其他的数据需求。例如,如果示例中的
    follower\u id
    必须是用户表中的
    user\u id
    ,则通过使用与用户表中的行相关的桥接表,可以更好地实现数据完整性。只有当你确信一个潜在的解决方案能够满足你的正确性和功能性需求时,你才能考虑到性能。()