mysql inet aton



Ip адрес mysql

Автор Дмитрий Ткаченко задал вопрос в разделе Другие языки и технологии

Вопрос по MySQL и организации Базы Данных и получил лучший ответ

Ответ от Пользователь удален[гуру]
Давно наткнулся на очень правильную статью по этому поводу, впечатлился и взял на заметку.
Вот копипаста того годного поста:
IP-адрес = 4 байт, и ни битом больше!
IP-адрес в mysql нужно хранить в поле типа INT, а не CHAR. IP-адрес — это 4 цифры, 4 байта. Поле типа INT — тоже 4 байт. Перевести IP-адрес в число можно функцией INET_ATON, обратно — INET_NTOA:
mysql> SELECT INET_ATON('209.207.224.40');
-> 3520061480
mysql> SELECT INET_NTOA(3520061480);
-> '209.207.224.40'Источник:

Ответ от 3oleg[гуру]
хз. я бы например записывал в типе данных строка без точек. получается всего 16 символов

Ответ от Валерий Каркачев[новичек]
В виде Int32. Оптимально по занимаемому месту, удобно индексировать, искать и т. п.

Ответ от Ёергей Проханов[новичек]
Лучший способ удовлетворить требования к снижению пространства памяти и сокращению времени обработки (на сортировку и представление данных, а также на обработку запроса) состоит в том, чтобы хранить числа А1, А2, А3 и А4 отдельно, в четырех различных столбцах базы данных, тип данных которых будет определен как tinyint. В этом случае можно применить запрос, приведенный в листинге 2, для сортировки, и представления адресов IP.
Источник:

Ответ от Антон -[гуру]
Соглашусь с предыдущим ответом, с небольшой поправочкой: для хранения нужен тип не INT, а UNSIGNED INT

Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Вопрос по MySQL и организации Базы Данных
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*