我正在创建一个包含由php和mysql生成的内容的网站。在整个页面中,您将看到需要使用mysql查询和php的注释,用户配置文件信息,公告等内容。
正如您所看到的,整个页面中将会有大量的mysql查询和行提取。
如果我调用所有查询,获取所有行并将它们放入php文件开头的数组中会更快吗?或者如果我将它们分散在整个文档中会更快吗?例如将注释查询,注释行提取和注释数组定义放在注释部分所在的位置。
如果我将所有查询放在文档的开头,将所有查询组合成一个巨大的查询会更快吗?我担心这里的内存使用情况。
使用从mysql查询中获取的值定义数组后,我通常会释放查询结果。这有益还是浪费时间?
答案 0 :(得分:5)
1)您应该将应用程序逻辑与表示代码分开。所以在这个意义上,是的,您应该在实际呈现页面之前执行构建页面所需的查询。它不是“更快”,但它使您的应用程序更易于理解,维护和扩展。
2)总是值得尽可能少地执行查询,只要您的结果集不需要PHP开始需要大量的后期处理才能被应用程序使用。
3)这是浪费时间。
答案 1 :(得分:-3)
我通常做的是让php运行得更快;
将所有变量放在顶部,使用if,elseif等,然后按照您认为最受欢迎的顺序排序查询。这样,如果查询不太可能,那么它将不会执行,因为它位于elseif列表的下方。
我会释放结果,特别是在检查db中是否存在变量时。
更多提示......
尽可能使用session_write_close。
将所有数组放在页面顶部。
有时使用flush()会有所帮助,你必须尝试一下。