Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将所有查询放在php文件的开头会更快吗?_Php_Mysql_Performance - Fatal编程技术网

将所有查询放在php文件的开头会更快吗?

将所有查询放在php文件的开头会更快吗?,php,mysql,performance,Php,Mysql,Performance,我正在用php和mysql生成的内容创建一个网站。在整个页面上,您将看到需要使用mysql查询和php的注释、用户配置文件信息、公告等内容 正如您所看到的,在整个页面中会有很多mysql查询和行获取 如果在php文件的开头调用所有查询、获取所有行并将它们放入数组中,会更快吗?或者,如果我只是将它们分散在整个文档中,会更快吗?e、 g.将注释查询、注释行获取和注释数组定义放在注释部分所在的位置 如果我将所有查询放在文档的开头,那么将所有查询合并成一个大型查询会更快吗?我担心这里的内存使用情况 在使

我正在用php和mysql生成的内容创建一个网站。在整个页面上,您将看到需要使用mysql查询和php的注释、用户配置文件信息、公告等内容

正如您所看到的,在整个页面中会有很多mysql查询和行获取

  • 如果在php文件的开头调用所有查询、获取所有行并将它们放入数组中,会更快吗?或者,如果我只是将它们分散在整个文档中,会更快吗?e、 g.将注释查询、注释行获取和注释数组定义放在注释部分所在的位置

  • 如果我将所有查询放在文档的开头,那么将所有查询合并成一个大型查询会更快吗?我担心这里的内存使用情况

  • 在使用从mysql查询中获取的值定义数组之后,我通常会释放查询结果。这是有益的还是只是浪费时间


  • 我通常做什么来让php运行得更快

    将所有变量放在顶部,使用if、elseif等,然后按照您认为最流行的顺序排列查询。这样,如果查询不太可能执行,那么它将不会执行,因为它位于elseif列表的下一个位置

    我会释放结果,特别是在检查db中是否已经存在变量时

    更多提示

    尽可能使用session\u write\u close

    将所有数组放在页面顶部

    有时使用flush()会有所帮助,您必须尝试一下。

    1)您应该将应用程序逻辑与表示代码分开。因此,从这个意义上说,是的,您应该在实际呈现页面之前执行构建页面所需的查询。它不是“更快”,但它使您的应用程序更易于理解、维护和扩展

    2) 执行尽可能少的查询总是值得的,只要您的结果集不开始需要PHP进行大量的后处理才能被应用程序使用


    3)这是浪费时间。

    你可能应该重新考虑你的体系结构,并考虑实现MVC模式或其他模式,在那里你可以将查询与页面显示逻辑分开。取决于数据库。但是,如果您发出查询,然后在获取结果之前在PHP脚本中执行一些不同的操作,那么数据库可能会利用这些时间来准备结果集。也许有可能。但是请注意,运行许多并发查询会消耗更多内存,不会加快数据库的速度,因此可能会对效率产生反作用。因此,您建议将所有查询合并到一个大型查询中?我确实会处理从数据库获得的数据(计算时差、htmlentities、nl2br)。然后将查询分开会更好吗?您通常可以在查询本身中计算时间差(请参阅)。诸如
    nl2br
    之类的格式化功能可以留给表示代码使用。我所指的后处理将更类似于,例如,重新映射结果数组。最好的经验法则是查询越少越好!老会员都是技术性的