关闭网站中的mysql连接有多重要?为什么?
答案 0 :(得分:3)
每个数据库引擎都限制了最大并发连接数。因此,如果不关闭连接,mysql可能会耗尽可用连接(默认max_connections为100)。此外,您持有的每个连接都会占用服务器的资源(内存,要监听的线程,可能是打开的文件句柄)。
<强> CAVEAT 强>
如果打开连接的唯一内容是来自ONE服务器的Web应用程序并且它们使用池连接,则不适用。在这种情况下,您不会冒险打开越来越多的新连接(因为每次您的应用需要一个新连接时,它会选择池中可用的连接);关闭并重新打开池的连接只会浪费资源。
答案 1 :(得分:2)
我不了解其他语言,但php会在脚本执行结束时自动关闭连接。
在一般情况下,您关闭连接,以便sql server不必等待来自网站的更多命令(它将不会收到,因为脚本已完成执行),并且未达到连接配额(如果它有任何)。
答案 2 :(得分:1)
当脚本退出时,PHP会自动关闭连接,所以我通常不会太担心它。
数据库服务器将具有有限数量的同时连接,因此在负载很重的站点上,尽快释放连接可能会有所帮助。
答案 3 :(得分:1)
如果您没有正确关闭连接,可能会遇到麻烦。您可能会收到Too many connections
个错误。见here
答案 4 :(得分:0)
像往常一样,这取决于。
会发生什么:
取决于程序语言,中间件,......
答案 5 :(得分:0)
因为可以打开的套接字连接数有限制。
答案 6 :(得分:0)
我不是程序员,但我认为一旦你不需要它就关闭它会更好。比如说,例如,您打开连接,执行查询,由于某种原因,使用该数据需要很长时间。如果你还没有关闭连接(并且程序/脚本也没有结束,所以它没有自动关闭连接 - 如果有这样的机会),将会有一个繁忙的资源,它在MySQL中什么都不做。连接已打开,但您没有使用它,这意味着使用该服务的另一个客户端可能会看到很棒的“错误:无法连接到数据库”消息。 因此,在我看来,最好连接到数据库,收集所需的数据,关闭连接,然后处理数据。这至少会为未来的客户留下一个可用的连接(如果你有高并发性的应用程序,这非常重要)。
然而,这种行为取决于编程语言,但我所知道的只能将数据检索到变量并且它与连接无关,所以我可以关闭它并继续处理数据,同时将连接留给另一个客户端