拥有多个随机帖子是否会增加服务器加载和页面加载时间?

时间:2013-04-08 作者:Pratik

我在wordpress中有8种帖子类型,在中有以下查询functions.php 归档8次

那么它会在mysql上加载并减少加载时间吗?

// random jokes 
function randJokes($rJokes){
  $RandJokesQuery = new WP_Query(array(\'post_type\'=>\'jokes\',\'posts_per_page\'=>$rJokes,\'orderby\'=>\'rand\')); ?>
  <h2 class="title">Random Jokes</h2>
  <ul>
    <?php while ($RandJokesQuery->have_posts()) : $RandJokesQuery->the_post(); ?>
      <li><a href="<?php the_permalink(); ?>"><?php if(function_exists(\'short_title\')) { short_title(90); } ?></a></li>
    <?php endwhile; ?> 
  </ul><?php
  wp_reset_postdata();
}

1 个回复
SO网友:Wyck

是的,但和什么相比呢?数据库上的任何查询都会增加服务器负载,从而增加页面负载,因此如果没有上下文,您的问题就没有多大用处。

WP用于随机排序帖子的PHP代码位于query.php:

case \'rand\': $orderby = \'RAND()\';
其结果如下:

SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts WHERE 1=1 AND 
wp_posts.post_type = \'post\' AND (wp_posts.post_status = \'publish\' OR 
wp_posts.post_status = \'private\') ORDER BY RAND() DESC LIMIT 0, 10
例如,可能是3ms,那么显然,使用8个单独的DB查询加起来就是24ms。

正在订购RAND 比默认查询或任何其他查询都慢orderby 参数,据我所知,没有。它比一些查询参数快,嗯。。对

实际的查询速度取决于您的服务器、操作码缓存、请求和各种“事情”。

结束

相关推荐