【问题标题】:Best way to save IPs (PHP or MySQL)?保存 IP 的最佳方法(PHP 或 MySQL)?
【发布时间】:2014-02-19 14:27:55
【问题描述】:

我在这里有一个简单的问题,但它现在让我陷入了两难境地。我正在保存 IP“the right way”,但我很难决定是否应该在 PHP 或 MySQL 中将 IP 转换为整数。它可能会被认为是一个语义问题,但我在这里寻找的主要是速度。我个人认为转换数据不是 MySQL 的工作,但我感觉 MySQL 在这方面会比 PHP 更快。你会给我什么建议?

INSERT INTO table (ip) VALUES (INET_ATON('127.0.0.1'))

或

$ip = ip2long('127.0.0.1');
$db->("INSERT INTO table (ip) VALUES ($ip)");

【问题讨论】:

  • 如果你运行测试发现MYSQL更快,那么使用MYSQL。 MYSQL 没有理由不转换数据。
  • 或者找到支持ipv6的方法。

标签: php mysql


【解决方案1】:

如果您主要关注速度,则应该对代码进行基准测试。我们没有理由比你做得更好。

关于哪个更合乎逻辑,我会说第一种方法INSERT INTO table (ip) VALUES (INET_ATON('127.0.0.1')),因为它说明了您将要存储哪些数据以及您将如何存储这些数据,而不是实际的存储功能。在第二个中,您必须回顾$ip 实际上是什么。它可能是一个很长的字符串或其他任何东西(尽管如果代码就在它上面并不重要)。但这都是个人意见,并不适合 SO。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-30
    • 1970-01-01
    • 2020-02-17
    • 1970-01-01
    • 2016-12-13
    • 2013-01-08
    • 2021-12-17
    • 2011-11-02
    相关资源
    最近更新 更多