我有由表组成的物业管理应用程序:
tenants
landlords
units
properties
vendors-contacts
基本上,我希望一个搜索字段可以搜索所有内容,而不必选择我要搜索的类别。这是一个可以接受的解决方案(技术方面吗?)
从长远来看,跨 5 个表进行搜索是否可以,并且不会使服务器陷入困境?实现这一目标的最佳方法是什么?
使用 PostgreSQL
为什么不创建一个视图,它是表的并集,将要搜索的列聚合为一个,然后搜索该聚合列?
你可以这样做:
select 'tenants:' + ltrim(str(t.Id)), <shared fields> from Tenants as t union
select 'landlords:' + ltrim(str(l.Id)), <shared fields> from Tenants as l union
...
这需要在客户端查询中嵌入一些逻辑;它必须知道如何制造它正在寻找的密钥,以便搜索single field.
也就是说,如果您只有一个单独的列,其中包含“类型”值(例如房东、租户),然后对类型和 ID 进行过滤,那么可能会更好,因为它的计算成本会更低(并且可以更好地优化) )。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)