Sql 关系数据库内容搜索角色权限

Sql 关系数据库内容搜索角色权限,sql,postgresql,full-text-search,relational-database,Sql,Postgresql,Full Text Search,Relational Database,我知道这个问题听起来可能很笼统,但我想选择一个建议 我有一个关系数据库模型Postgresql,如下所示 其中所有用户都属于角色。我也有可搜索内容文本或tsvector的对象-它不会影响搜索查询的速度,每个对象都有不同的版本。 根据用户所处的角色,仅允许用户查看对象的某些版本,并且为特定对象授予了读取和写入此角色的特定权限 现在我的问题是,是否有任何全文搜索实现也适用于基于用户角色的权限,尽管我真的不知道这将如何工作,也不知道如何为用户缓存结果,请记住,结果是不断变化的,例如创建或删除内容 目前

我知道这个问题听起来可能很笼统,但我想选择一个建议

我有一个关系数据库模型Postgresql,如下所示

其中所有用户都属于角色。我也有可搜索内容文本或tsvector的对象-它不会影响搜索查询的速度,每个对象都有不同的版本。 根据用户所处的角色,仅允许用户查看对象的某些版本,并且为特定对象授予了读取和写入此角色的特定权限

现在我的问题是,是否有任何全文搜索实现也适用于基于用户角色的权限,尽管我真的不知道这将如何工作,也不知道如何为用户缓存结果,请记住,结果是不断变化的,例如创建或删除内容


目前,搜索是通过普通的JOIN-postgresql查询完成的,这相当慢。全文索引没有帮助。

请显示一个典型的查询,并说明执行该查询所需的时间。我无法在此发布典型的查询-数据库比我在这里描述的要复杂得多,还有其他的表、子程序等。我们尝试过优化,但没有真正的帮助。实际上,我想问的是,在内容搜索与复杂的权限系统相结合的情况下,是否有任何最佳实践,因为我不知道从哪里开始搜索。我不是在寻找一个具体的答案,只是想得到一个提示: