1
tbl_user 테이블에 1 개 이상의 lac 사용자가 있고 모든 사용자 ID를 선택하고 각 사용자 ID를 사용하여 평생 포인트를 얻으려고합니다 & 포인트를 사용한 다음 사용할 수 있습니다 각 사용자 에 대한 점은, 아래큰 데이터를 가져 오는 동안 SQL 연결 시간 제한이 발생했습니다
$get_all_userid_qry = "SELECT user_id FROM tbl_user WHERE site_id=12345 AND active='1'";
$get_all_userid = $con->fetchAll($get_all_userid_qry);
//echo '<pre>';print_r($get_all_userid);exit();
$available_points_array = array();
$points_threshold_Distribution_data = array();
$userCount = count($get_all_userid);
for($i = 0; $i < $userCount; $i++)
{
$name_points_qry = "SELECT sum(earned_points) as points FROM tbl_points WHERE site_id=12345 AND user_id='".$get_all_userid[$i]->user_id."' ";
$name_points_row = $con->fetchRow($name_points_qry);
$lifetime_points = $name_points_row->points;
//get used points by user
$get_used_points = "select sum(points_used) as used_pts from tbl_claimed WHERE site_id=12345 AND user_id='".$get_all_userid[$i]->user_id."' ";
$get_used_points_row= $con->fetchRow($get_used_points);
$used_points = $get_used_points_row->used_pts;
$available_points = $lifetime_points - $used_points;
$available_points_array[] = $available_points;
}
을 언급하지만, 내 SQL 연결로 tbl_user에서 모든 사용자 ID의 선정에 어려움을 찾는시 사이에 시간을 얻고 그것은 내가 결과의 전체 배열을 표시하지 않는 한 print_r()을 사용합니다.
많은 양의 데이터를 선택하는 방법을 제안하십시오.
ini_set('memory_limit', '2048M');
또는 당신은 당신의 htaccess로 파일에이 줄을 추가 할 수 있습니다 : 그냥 여는 PHP 태그 이전
'(site_id, user_id)'에 대한 색인이 있습니까? 또한 각 사용자 ID에 대해 별도의 쿼리를 수행하고 있습니까? 왜'GROUP BY user_id'를 가진 단일 쿼리가 아닌가? – Barmar