NYCPHP Meetup

NYPHP.org

[nycphp-talk] Ideas on how to speed up search process

Steve Manes smanes at magpie.com
Mon Aug 20 23:35:52 EDT 2007


Nelly Yusupova wrote:
> I have a table that contains about 40,000 rows of job posting data.   
> There is a script that allows users to search for jobs using 
> numerous search criteria.  Because of all the criteria, the search 
> process is very slow...an average query takes about 10 seconds to 
> display in a browser, which is way too long.
>  
> I tried optimizing the queries and indexed the table, which is very hard 

Without seeing your data model or even knowing what database you're 
using that question is almost impossible to answer.  Bear in mind 
however that indexed columns aren't a magic bullet, especially if you 
have lots of repeating data in them.

Use your query plan analyzer to figure out where the sluggishness is, 
paying close attention to "full table scan" or scans where the index 
file is being tossed.  If your database supports partitioning you can 
get quite a bit of improvement there.  Adding a second mirrored database 
just for job searches is another idea.  Minimize text searches; 
normalize common elements like start date, industry, category, job 
position, etc.

I've written four job boards and each employed different techniques 
specific to the business requirements.  One thing you might try however 
is to dump the jobs as text and let local search engine software index 
them several times a day.  There are a lot of API tricks you can use to 
specialize those searches.



More information about the talk mailing list