Обсуждение: Optimize slow query
Hi, I've a table with 300 000 records and I'm trying to do a search: SELECT * FROM addresses WHERE address ILIKE '%Jean Paul%' AND (l_pc='4250' or r_pc='4250') AND (l_struc='O' or r_struc='O') AND (prenm ILIKE 'Street') It performs in 2 seconds in a dual Xeon 2.4mhz with 2Gb of RAM. I'm using Postgresql 8.1 on ubuntu. I've indexes on l_pc, r_pc, l_struc,r_struc and prenm (all btrees) What I'm doing wrong to have such a slow query? Thanks, Nuno Mariz
On 6/13/07, Tyler Durden <tylersticky@gmail.com> wrote: > Hi, > I've a table with 300 000 records and I'm trying to do a search: > > SELECT * FROM addresses WHERE address ILIKE '%Jean Paul%' AND > (l_pc='4250' or r_pc='4250') AND (l_struc='O' or r_struc='O') AND > (prenm ILIKE 'Street') > > It performs in 2 seconds in a dual Xeon 2.4mhz with 2Gb of RAM. > I'm using Postgresql 8.1 on ubuntu. > I've indexes on l_pc, r_pc, l_struc,r_struc and prenm (all btrees) > What I'm doing wrong to have such a slow query? > > Thanks, > Nuno Mariz > My bad! Sorry, I've missed an index on l_struc and r_struc. Thanks, anyway.
Le mercredi 13 juin 2007, Tyler Durden a écrit : > Hi, > I've a table with 300 000 records and I'm trying to do a search: > > SELECT * FROM addresses WHERE address ILIKE '%Jean Paul%' AND > (l_pc='4250' or r_pc='4250') AND (l_struc='O' or r_struc='O') AND > (prenm ILIKE 'Street') > > It performs in 2 seconds in a dual Xeon 2.4mhz with 2Gb of RAM. > I'm using Postgresql 8.1 on ubuntu. > I've indexes on l_pc, r_pc, l_struc,r_struc and prenm (all btrees) > What I'm doing wrong to have such a slow query? Could you add 'explain analyze' to your post ? And how much content have the text fields ? (isn't tsearch2 an option for you ?) > > Thanks, > Nuno Mariz > > ---------------------------(end of broadcast)--------------------------- > TIP 7: You can help support the PostgreSQL project by donating at > > http://www.postgresql.org/about/donate -- Cédric Villemain Administrateur de Base de Données Cel: +33 (0)6 74 15 56 53 http://dalibo.com - http://dalibo.org