database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 31167 게시물 읽기
No. 31167
이런 경우 퍼포먼스를 향상시킬수 있는 방법이 없을까요?
작성자
김용식
작성일
2018-04-02 14:43
조회수
4,926

//일별 상품 조회수 
$product_arr = 배열 상품번호 
foreach($product_arr as $k => $v){ 
  //해당 상품이있는지 조회 
  $sql = "select idx from product where idx='".$v['idx']."'; ///////쿼리 1 
  $product_row = mysql_num_rows(mysql_query($sql)); 
  //존재하면 
  if($product_row>0){ 
    //오늘 해당 product idx에 해당 일일 통계가 있는지 없으면 추가 있으면 업데이트 
    $sql = "select idx from product_day where product_idx='".$v['idx']."' and date_product='".$today_date."'"; ///////쿼리 2 
    if(해당 일일통계가 있는지 없으면 추가 있으면 업데이트)///////쿼리 3 

  } 


이렇게 처리하고 있는데 루핑안에 쿼리가 있어서 퍼포먼스가 안나오고 있습니다. 다른 방법이 없을까요?

이 글에 대한 댓글이 총 2건 있습니다.

 정확한 답변은 아닙니다.

상품번호 배열이 많이 크지 않고

produxt의 PK가 idx라고 가정하고 작성했습니다.

 

$prd_nos = "'".implode("','",$product_arr)."'";

$sql = "SELECT d.idx FROM product p LEFT JOIN product_day pd ON pd.idx=p.idx AND date_product='".$today_date."' WHERE idx IN (".$prd_nos.");";

while ($row = mysql_fetch_array($result)){

  if($row[idx]) // 쿼리3 -- 있으면 업데이트

}

박인호(paerae)님이 2018-04-02 17:27에 작성한 댓글입니다.
이 댓글은 2018-04-04 11:47에 마지막으로 수정되었습니다.

 고맙습니다 덕분에 잘처리되었습니다.

김용식님이 2018-04-03 15:37에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
31173mariaDB 에러관련 문의 드립니다.
박환철
2018-05-31
4477
31170순환SQL을 XML 형태로 출력 [1]
초보
2018-04-23
5062
31168통계data추출시 떨어지는 DB성능.. 같은 서버에서 DataBase를 하나 더 생성하는게 의미가 있을까요?? [1]
궁금타
2018-04-18
4707
31167이런 경우 퍼포먼스를 향상시킬수 있는 방법이 없을까요? [2]
김용식
2018-04-02
4926
31166데이터 저장후 쿼리문으로 조회하여 눈으로 볼때 인코딩된내역이 보입니다. [1]
권순환
2018-04-02
4624
31164리플리케이션시 쿼리 사용 문의 [2]
김용식
2018-03-28
4435
31163컬럼별로 카운트 하는방법 알려주세요 [1]
민재영
2018-03-22
3990
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.051초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다