如何优化我的查询,过滤掉不需要的数据?

时间:2012-10-28 作者:Francesco

我使用get_posts ($arg); 查询post表。通常我只需要三个字段:post\\u title、ID和post\\u摘录。但是返回的数据要多得多,包括通常非常庞大的post\\u内容。

我知道我可以用\'fields\' => \'ids\' 仅获取ID。但我想使用\'fields\' => \'post_title\'\'fields\' => \'post_excerpt\'.

有可能吗?如果不可能,我还可以使用哪种方法?

1 个回复
最合适的回答,由SO网友:Johannes Pille 整理而成

get_posts() 使用WP_Query 类以获取帖子。

通常,它返回一个post对象数组。这个$fields 的参数WP_Query 接受两个有效参数:\'ids\' 将使其返回一个post ID数组\'id=>parent\' 将使其返回一个关联数组,其post对象属性为key => value 配对。作为参数的任何其他输入值$fields 将导致返回对象。

因此,要么只收集ID,要么$post_content (以及所有其他不需要的信息)返回,作为数组项或对象属性。

一般来说,这不应该是一个性能问题。如果生成的数组本身也非常大,并且您希望在进一步的操作中使用它,那么这可能是显而易见的
如果数据库太大,需要进行优化查询,请考虑它仍然必须遍历整个wp\\u posts表,无论是否实际选择了post内容
一句话:对象具有一些您不需要的属性,这一点都不重要。

结束