我们在使用 WP_Query 或者 query_posts 进行日志查询的时候,WordPress 都会产生很多 SQL_CALC_FOUND_ROWS 的 SQL 查询。
一般来说这类 SQL 查询,数据库是不会进行缓存,我前面也说了 别使用 MySQL 的 SQL_CALC_FOUND_ROWS 来获取总行数,因为慢。
WP_Query 和 query_posts 其实提供了 no_found_rows 参数可以阻止进行这类的 SQL 查询,比如:
query_posts('no_found_rows=true&cat=1&numberposts=1');
另外说一下:get_posts 函数自动设置了这个参数为 true