Re: Performance trouble finding records through related records

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

 



Andy Colson wrote:
> 
> For your query, I think a join would be the best bet, can we see its
> explain analyze?
> 


Here is a few variations:


SELECT events_events.* FROM events_events WHERE transactionid IN (
	SELECT transactionid FROM events_eventdetails customerDetails
	WHERE customerDetails.keyname='customer_id'
	AND substring(customerDetails.value,0,32)='1957'
	AND transactionid IS NOT NULL
) ORDER BY id LIMIT 50; 

-- http://explain.depesz.com/s/Pnb


explain analyze SELECT events_events.* FROM events_events,
events_eventdetails customerDetails
	WHERE events_events.transactionid = customerDetails.transactionid
	AND customerDetails.keyname='customer_id'
	AND substring(customerDetails.value,0,32)='1957'
	AND customerDetails.transactionid IS NOT NULL
ORDER BY id LIMIT 50; 

-- http://explain.depesz.com/s/rDh


explain analyze SELECT events_events.* FROM events_events
JOIN events_eventdetails customerDetails
	ON events_events.transactionid = customerDetails.transactionid
	AND customerDetails.keyname='customer_id'
	AND substring(customerDetails.value,0,32)='1957'
	AND customerDetails.transactionid IS NOT NULL
ORDER BY id LIMIT 50; 

-- http://explain.depesz.com/s/6aB


Thanks for your efforts!

--
View this message in context: http://postgresql.1045698.n5.nabble.com/Performance-trouble-finding-records-through-related-records-tp3405914p3407689.html
Sent from the PostgreSQL - performance mailing list archive at Nabble.com.

-- 
Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance


[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux