Php MYSQL请求是否应该分组
我有一个页面,必须从1db,3个表中获取数据。我使用php/mysql 现在,每当页面需要数据时,它都会调用一个函数来创建新连接,获取特定数据并关闭连接 我应该这样做以增加装载时间吗?它会引人注目吗 当页面加载时,它将调用一个函数来创建一个新连接,从3个表中获取数据,将它们放入一个数组中,然后返回。然后我将使用数组在需要的地方解析数据。以减少连接/关闭的次数 另外,我应该为3个表使用一个数组,将其从函数中返回,然后拆分它。 或者对每个表使用1个数组,并从函数中返回3个数组 现在一切正常,但我关心的是加载时间Php MYSQL请求是否应该分组,php,mysql,arrays,Php,Mysql,Arrays,我有一个页面,必须从1db,3个表中获取数据。我使用php/mysql 现在,每当页面需要数据时,它都会调用一个函数来创建新连接,获取特定数据并关闭连接 我应该这样做以增加装载时间吗?它会引人注目吗 当页面加载时,它将调用一个函数来创建一个新连接,从3个表中获取数据,将它们放入一个数组中,然后返回。然后我将使用数组在需要的地方解析数据。以减少连接/关闭的次数 另外,我应该为3个表使用一个数组,将其从函数中返回,然后拆分它。 或者对每个表使用1个数组,并从函数中返回3个数组 现在一切正常,但我关心
非常感谢。如果不关闭连接,php将使用以前打开的连接
我认为,这是最好的解决办法。您不需要每次都获取数组,因为您需要。可能是,根本不需要它。您可能应该指定这些表是什么类型的。它们是与外键相连还是完全无关 一般来说,应该为与数据库的整个通信打开连接,但要尽可能快。因此,工作流应该如下所示:
您可以使用union对数据进行聚类,然后将它们拉入一个select中,然后解析结果。然而,这种情况并不经常发生。代码的可读性也更差。您可以使用memcached或redis进行加载。 如果保持连接打开,则连接将关闭。您的连接限制将超过bi 看看这个 及
一般来说(和往常一样,也有例外),最好的解决方案是到MySQL服务器的“往返”次数最少的解决方案。文档中是否讨论了这一点?找不到,我是在哪里读到的。我记得,当脚本结束时,连接会自动关闭,所以,如果您对多个脚本使用全局连接,您不需要每次都打开它。