Denna queryn e väldigt seg och vissar alltid samma resultat.. Någon som kan se vad som e fel med den genom att slänga ett öga.
SELECT
bn.bird_id AS bnid,
b.bird_id AS bid,
b.bird_pic AS birdpic,
bp.pic_path as pic_path,
bp.pic_filename as pic_filename
FROM
02_birdnames bn,
02_birds b,
01_BirdPics bp
WHERE
bn.bird_name_alt1 = \'' + $searchstring + '\' or
bn.bird_name_alt2 = \'' + $searchstring + '\' or
bn.bird_name_alt3 = \'' + $searchstring + '\' and
b.bird_id = bn.bird_id and
bp.bird_id = b.bird_id
LIMIT 0,10';
SELECT bn.bird_id AS bnid,
b.bird_pic AS birdpic,
bp.pic_path as pic_path,
bp.pic_filename as pic_filename
FROM 02_birdnames bn,
02_birds b,
01_BirdPics bp
WHERE (bn.bird_name_alt1 = $searchstring
or bn.bird_name_alt2 = $searchstring
or bn.bird_name_alt3 = $searchstring )
and b.bird_id = bn.bird_id
and bp.bird_id = b.bird_id
order by bnid
LIMIT 0,10
Sen så beror det på vilka index du har.
En annan sak som du borde undvika är att ha tabeller med namn som inleds med siffror (som 02).
Rent designmässigt så borde du ha en kolumn i birdnames och lagra flera poster om en birdie har olika namn.