我目前有class
名为活动,另一名叫视频。
Activity class
包含视频class
的对象ID 。
当我查询8个活动行及其相关视频时,它会使我的PHP脚本从 1秒大幅减慢到 10秒。
我是否可以在一行中查询这两个类,例如MySQL
join
查询?
这是我的代码
$query = new ParseQuery("Activity");
$query->containedIn("type","video");
$query->limit($limit);
$comments = $query->find();
if(!$queryResults){
return false;
}
foreach($queryResults as $result){
if($result->get("type") == "post"){
$content = array(
"objectId" => $contentQuery->getObjectId(),
"name" => $contentQuery->get("name"),
"location" => $contentQuery->get("location")
);
}
$return[] = array(
"activityObjectId" => $result->getObjectId(),
"type" => $result->get("type"),
"content" => $content,
"user" => $this->user,
"createdAt" => $result->get("createdAt")
);
}
谢谢, 彼得
答案 0 :(得分:1)
更好的设计是将包含相关对象id的字符串col替换为包含该对象的指针列(实际上)。
赋值更简单(比如JS):
// change this
myActivity.set("videoIDString", myVideo.id);
// to this
myActivity.set("video", myVideo);
...其中'video'是指针类型列,指向Video类。
完成此操作后,您可以通过告诉查询急切地获取视频指针来获取活动及其相关视频:
$query->includeKey("video");