CRM-18842 Dedupe query: remove OR join in favour of more performant UNION
authoreileen <emcnaughton@wikimedia.org>
Wed, 27 Apr 2016 05:20:43 +0000 (17:20 +1200)
committereileen <emcnaughton@wikimedia.org>
Thu, 19 May 2016 02:09:35 +0000 (14:09 +1200)
commitc232f0051e2d0bb26a4d0f7d07ba0b3f68dedf7a
tree8cb88adf3e11636fcd6a47eddc1081886d331ba1
parent78272750feae1680471759e80b0a6f0e6532faec
CRM-18842 Dedupe query: remove OR join in favour of more performant UNION

Unions are much faster than OR joins. This change took the length of the query to get the dedupes on a large database from
'as long as it took for the server to fall over' to less than one second on a small group of contacts

This query is only affecting one path - ie Individuals - at the moment as I can only extend that as fast as I can write tests.
CRM/Dedupe/BAO/QueryBuilder.php
CRM/Dedupe/BAO/QueryBuilder/IndividualSupervised.php