IP2Location in MySQL zu langsam und wie man es schneller macht | 15. Januar 2009 um 17:42 Uhr / Programming

Eingestellt am 15. Januar 2009 um 17:42 Uhr » Programming

Heute haben wir auf der Arbeit das Problem gehabt, dass der Beispielcode von IP2Location, wie man aus einer IP eine Location herausbekommt sehr sehr langsam war. Eine Anfrage dauerte zwischen 3 und 7 Sekunden was für eine Webapplikation natürlich unhaltbar ist.

Ein Kolege hat dann nach ein paar Stunden was entdeckt das das ganze erheblich beschleunigt und hier ist die veränderte SQL-Frage, die nur noch 0,00001 Sekunden braucht:

SELECT
	[COUNTRY NAME COLUMN],
	[REGION NAME COLUMN],
	[CITY NAME COLUMN],
	[LATITUDE COLUMN],
	[LONGITUDE COLUMN],
	[ISP NAME]
FROM
	[IP-COUNTRY-REGION-CITY-LATITUDE-LONGITUDE-ISP TABLE]
WHERE
	([IP FROM COLUMN] <= [SEARCH IP NO])
AND
	([IP TO COLUMN] >= [SEARCH IP NO])
ORDER BY
	[IP FROM COLUMN] DESC
LIMIT 1;

Kommentare

Die Kommentare sind für diesen Eintrag geschlossen.