MySQL: IP-Adressen komprimiert speichern

Werden IP-Adressen als Zeichenkette gespeichert, kostet das Platz. Denn um die maximale Länge einer Adresse zu berücksichtigen, braucht man 15 Zeichen.

Die Funktion inet_aton(), die es seit MySQL 3.23 gibt, wandelt eine als String angegebene IP-Adresse dagegen in einen Integer-Wert um, der lediglich 4 Byte beansprucht. Sie definieren das verwendete Feld einfach als INT UNSIGNED und verwenden beim Speichern inet_aton(‘192.168.0.1’). Für die Rückwandlung ist die Funktion inet_ntoa() zuständig.

Die komprimierte Form wirkt sich zwar nur bei großen Mengen richtig Platz sparend aus, bietet aber einen weiteren Vorteil: Das numerische Datenformat macht den Index auf diesem Feld effizienter. Damit werden also Zugriffe auf die jeweilige Tabelle schneller, wenn dabei nach der IP-Adresse gesucht wird.

Ähnliche Beiträge