Я пытаюсь сохранить IPv6-адреса в MySQL 5.0 эффективным образом. Я прочитал другие вопросы, связанные с этим, такие как этот. Автор этого вопроса в конечном итоге выбрал два поля BIGINT. Мои поиски также показали еще один часто используемый механизм: использование DECIMAL (39,0) для хранения адреса IPv6. У меня есть два вопроса.
- Каковы преимущества и недостатки использования DECIMAL (39,0) по сравнению с другими методами, такими как 2 * BIGINT?
- Как преобразовать (в PHP) из двоичного формата, возвращенный inet_pton() в формат десятичной строки, используемый MySQL, и как мне конвертировать назад, чтобы я мог печатать с помощью inet_ntop()?