我们在使用 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