Создать ответ 
Как правильно хранить IP адреса в MySQL
Автор Сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #1
Как правильно хранить IP адреса в MySQL
Некоторые программисты, недолго думая, для хранения IP адресов создают поля с типом данных CHAR(15) или VARCHAR(15), т.к. это им удобно с их точки зрения для дальнейшего использования.

Ведь не многие изначально знают, что в MySQL в запросах можно использовать стандартную функцию INET_ATON() для преобразования IP адреса в число, и INET_NTOA() для обратного преобразования числа в IP адрес. Также есть аналогичные функции на PHP: ip2long() и long2ip().

Таким образом, если мы будем хранить IP адрес как число (INT), то размер поля сразу сократится до 4 байт, и что немаловажно, оно будет иметь фиксированную длину (полезно для увеличения скорости поиска).

При создании поля для хранения IP адреса, нужно использовать тип UNSIGNED INT, так как полученный IP адрес в виде числа задействует все 32 бита беззнакового целого.

Например, используя данные функции, нам удалось уменьшить размер одной таблицы с 19,346.4 кб до 10,933.2 кб, да и скорость обработки данной таблицы также увеличилась.
24.10.2012 12:14:11
Найти все сообщения Цитировать это сообщение
Создать ответ 


Переход:


Пользователи просматривают эту тему: 1 Гость(ей)


LiveInternet
© Copyright 2011-2024 by UsefulScript.ru