我在这里有一个简单的问题,但它现在让我头脑中陷入了一个两难的境地。我正在保存IP“the right way”,但我很难决定是否应该将ip转换为PHP或MySQL中的整数。它可能会被认为是一个语义问题,但我在这里寻找的主要是速度。我个人认为转换数据不是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)");
答案 0 :(得分:2)
如果您主要参与速度,则应对代码进行基准测试。我们没有理由比你做得更好。
关于哪个更符合逻辑,我会说第一个方法INSERT INTO table (ip) VALUES (INET_ATON('127.0.0.1'))
,因为它说明了您要存储的数据以及如何存储该数据,在实际存储功能的位置。在第二步中,您必须回顾$ip
实际上是什么。它可能是一个长的,一个字符串或其他任何东西(如果代码正好在它之上并不重要)。但这都是个人意见,并不适合SO。