MySQL连接 – RAM还是处理?

我知道查询使用更多的处理,但连接本身,它使用更多的RAM比处理?

相对于现代机器的力量,“连接本身”几乎不会使用任何东西 – 这是你对连接做出的改变。

“查询使用更多的处理”是一个误导性的简化。 如果你的查询得到了很好的优化,那么你通常会发现内存是关键的(所以数据库服务器可以保留大量的数据和索引页面用于快速search),然后是I / O带宽(因此数据库服务得到快速响应当它需要访问磁盘时,因为它需要的数据不在RAM中或写入时)。 在这两个之后,你就担心CPU的使用,因为一些查询确实需要大量的CPU umpf来完成他们的工作,一旦数据在RAM中完成工作。

创build连接时会有开销,因此标准build议尽可能在一个连接中执行,而不是为每个查询进行删除和重新创build(这也是大多数SQL库实现连接池的原因),但是这种开销通常不是CPU ,内存或I / O相关 – 通常是通信延迟(客户端和服务器之间的握手,请求和发送validation细节,DB服务与其他服务(如LDAP,如果通过它们进行身份validation)交谈等等)。