Einzelnen Beitrag anzeigen
Alt 30.10.2005, 14:05   #1
James
Meisteroptiker
 
Registriert seit: 19.05.2000
Ort: Salzburg
Alter: 43
Beiträge: 1.495


James eine Nachricht über ICQ schicken
Standard SQL-Abfrage Optimieren

select a.plz, b.text_val, c.loc_id, a.*, b.loc_id, c.lon, c.lat,
@c := ( acos( sin(RADIANS(c.lat)) * sin(RADIANS(47.8)) + cos(RADIANS(c.lat)) * cos(RADIANS(47.8)) * cos(RADIANS(c.lon - 13.0333)) ) * 6380 ) entfernung
from optiker a
left join geodb_textdata b on a.plz = b.text_val
left join geodb_coordinates c on b.loc_id = c.loc_id
ORDER by entfernung
limit 1,1500

wollte grade fragen ob man die joins noch optimieren kann oder geschickter anlegen...

hab aber grad ned index für die tables gemacht und bin so von 27sec execute time auf 0.13 gekommen naja wenn er noch ned idee hat wie man das optimieren kann bitte

wenn sich wer fragt was das ist:
Die rechnung oben ist entfernungsrechnung zwischen zwei punkte am globus...

will ne page machen wo man seine heim plz eingibt... und dann wird mithilfe der opengeodb (und meine gesammelten optikeradressen) die einem am nächste optiker angezeit

is nur zum spass weil ich mich mit der opengeodb spielen wollte...

die fixen coordinaten in der abfrage san die von salzburg
James ist offline   Mit Zitat antworten