Re: What is the best way to do attribute/values?
| От | Josh Berkus | 
|---|---|
| Тема | Re: What is the best way to do attribute/values? | 
| Дата | |
| Msg-id | 200408250959.15946.josh@agliodbs.com обсуждение исходный текст | 
| Ответ на | Re: What is the best way to do attribute/values? (Mark Kirkwood <markir@coretech.co.nz>) | 
| Ответы | Re: What is the best way to do attribute/values? | 
| Список | pgsql-performance | 
Mark, Tim, > select > pav1.person_id > from > person_attributes_vertical pav1 > where > ( pav1.attribute_id = 1 > and pav1.value_id in (2,3)) > or ( pav1.attribute_id = 2 > and pav1.value_id in (2,3)) Not the same query, sorry. Daniel's query yields all the person_id's which have criteria A AND criteria B. Yours gives all the person_id's which have criteria A OR criteria B. > There will be a lot of attributes with the same ID; there will also be a > lot of attributes with the same value. However, there should be much less > attributes with a specific combination of (ID/Value). Right now I think it > will be very hard to determine which field has a better selectivity: > attribute_id or value_id. Given that there is already an index on ( attribute_id, value_id ) I don't quite see what difference this makes. Unless you're suggesting this as a workaround for the PG Planner's poor use of the index? -- Josh Berkus Aglio Database Solutions San Francisco
В списке pgsql-performance по дате отправления: