Mysql连接-通过IP连接比通过域连接更快


Mysql connection - is faster to connect via IP then domain?

问题

这个更快吗

$servername = "125.125.55.10";
$username = "username";
$password = "password";
$conn = new mysqli($servername, $username, $password);

还是这个?

$servername = "mysql.server.com";
$username = "username";
$password = "password";
$conn = new mysqli($servername, $username, $password);

或者它对速度没有影响?

我不知道它是否有实际用途,但毫秒就是毫秒。。。。

感谢

是的,它可以被认为稍微快一点,因为不需要将域解析为IP地址(DNS查找)。然而,大多数现代技术在建立连接时都会缓存IP地址,这意味着不必对每个到同一地址的连接进行DNS查找。因此,除了第一次连接到网站之外,这种差异是可以忽略的,即使是在那之后,也最多只有几秒钟。

问题是,当您的web服务器第一次访问mysql数据库时,它会缓存解析的主机名。使用IP的问题是,它基本上是硬编码的,很难进行grep,IP的更改频率可能比主机名高得多,等等。更重要的是:把时间花在像这样的过早优化上

  • 使用主机名/ip连接
  • 使用unix套接字/tcp套接字进行连接
  • 是否使用持久连接

如果您的表/脚本没有得到优化,那就是浪费时间。

在数据库(sql/nosql)性能中寻找什么:

  • 学习使用dbms索引/学习"EXPLAIN查询"
  • 从不逐个更新大量行,仅以批处理模式更新
  • 在开发项目时,生成大量(>500k行)假数据并将其插入数据库,这样您就可以在生产服务器出现问题之前知道"完美查询"何时缓慢