WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   SQL-Abfrage Optimieren (http://www.wcm.at/forum/showthread.php?t=177119)

James 30.10.2005 14:05

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 :hehe:

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

die fixen coordinaten in der abfrage san die von salzburg

James 31.10.2005 03:54

Hmm jetzt hab ich noch ein problem

hab zu ner bestehenden datenbank mit daten neue daten per csv geadded

nur is mir da passiert das da am anfang vom feld ein leerzeichen ist...

kann ich all die felder irgendwie per querry aufeinmal ändern?

mit ltrim() kann ich es ja im query berücksichtigen aber würde die daten gerne in einem rutsch bereinigen...

helios 31.10.2005 08:20

hi, ich versteh nicht ganz was dein problem ist, sollte doch mit update gehen:
Code:

UPDATE table set spalte1=ltrim(spalte1);

James 31.10.2005 20:18

danke aber auf das bin ich um 4:00 nimma gekommen :hehe:


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag