res*_*ion 2 python mysql sql postgresql pylons
我有由表格组成的物业管理应用程序:
tenants
landlords
units
properties
vendors-contacts
Run Code Online (Sandbox Code Playgroud)
基本上我想要一个搜索字段来搜索它们,而不是必须选择我正在搜索的类别.这是否是一个可接受的解决方案(明智的技术?)
从长远来看,搜索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
...
Run Code Online (Sandbox Code Playgroud)
这需要从客户端查询中嵌入一些逻辑; 它必须知道如何制作它正在寻找的密钥才能搜索单个字段.
这就是说,它可能会更好,如果你只是有一个单独的列其中包含一个"类型"值(例如业主,租客),然后过滤两个类型和ID,因为这将是计算上更便宜的(和可优化的更好).