我有一个拥有10万多个帖子的网站,并且我正在尝试使用以下查询:
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 wp_posts.post_date DESC LIMIT 0, 5
经过一段时间的搜索,我才明白这是一个分页查询。查询花费太多时间,效率不高。
有人知道这个问题的解决方案吗?
P.S。我已经搜索了旧答案,但是它们没有提供任何解决方案。
答案 0 :(得分:0)
是的,SQL_CALC_FOUND_ROWS比两个查询花费更多的时间。请检查此链接:
Which is fastest? SELECT SQL_CALC_FOUND_ROWS FROM table
, or SELECT COUNT(*)
很多用户或开发人员已确认,您可以阅读用户的评论。
尝试使用SELECT COUNT(*)
语句查找记录数。
答案 1 :(得分:0)
在WordPress中,您可以使用WP_Query来找到帖子
$obj_name = new WP_Query($args);
$num = $obj_name->post_count;