Search Postgresql Archives

Re: Handling large number of OR/IN conditions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



(quoted from Chris) 
Select field1,field2 FROM table1 inner join relationships on table1.creator_user_id = relationships.employee WHERE relationships.manager = ?

(quoted from Steve) 
select table1.field1, table2.field2 from table1, reports where table1.creator_user_id = reports.peon and reports.overlord = 'bob'

Thanks, Steve and Chris, who both suggested similar things. 

I believe that will work for me in some situations, but currently the report allows the manager to select any combination (from one to all) of users that report to him.  So one solution would be to run the report as you have it and then have the application filter it, but that could be painful if the users "de-selected" from his full team happen to have a large percentage of the matching rows.  Of course, I may see if this is something they really do much of.  I mean, perhaps if they select individual users (just a few), I can just use the OR/IN style, and if they select "all my users" I could rely on the table joins.

Does anybody know if PG will perform better with the table join instead of evaluating the series of OR/IN?  The OR/IN has to be parsed, but the comparisons may be faster than the table join.

Many thanks for your help....

David

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux