쿼리 질문 드립니다.

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
쿼리 질문 드립니다.

QA

쿼리 질문 드립니다.

본문

사이트가 느리게 열린다는 컴플레인을 여러 차례들었지만..

나름 여러 시도를 통해서 문제를 해결하려고 했지만.. 크게 달라지지 않았습니다.

나름 제가 쓸수 있는 비싼 서버도 써보구요... 

최근에 깨달은건 페이지별 쿼리 호출이 잦은데 문제가 있지 않을까 싶었습니다.

우연히 테스트차 웹에서 한개의 데이터가 있는 값을 호출했음에도 sql 에서 질응답하는 시간보다 훨씬 오래 걸리더라구요. PHP 셋팅에 문제가 있나 싶기도 했지만.. 

나름 할수 있는 방법을 찾아 해보자는 마음에..  그래서 쿼리 호출 횟수를 줄여보려고 하는데요.

이렇게 마음 먹었음에도 시작부터 막히내요. 그 시작이 아래 있습니다.

 

$q_lists = sql_query("select * from `g5_write_free` where `ca_name` = 123 order by `wr_id` asc");
$cnt = mysqli_fetch_assoc(sql_query("select count(*) as `cnt` from `g5_write_free` where `ca_name` = 123"));
$첫글보기 = mysqli_fetch_assoc(sql_query("select * from `g5_write_free` where `ca_name` = 123 order by `wr_id` asc"));

 

위에 총 3개의 쿼리가 있는데요. 첫번째($q_lists)는 for 문을 뿌려주는데 쓰이구요.

두번째($cnt) 총 개수 세는데.. 세번째($첫글보기) 맨첫음 데이터를 가져오는데 쓰입니다.

 

이를 한 쿼리로 줄일수 있는 방법이 있을까요? 고견 부탁드립니다.

이 질문에 댓글 쓰기 :

답변 4

select *                    from `g5_write_free` where `ca_name` = 123 order by `wr_id` asc");
select count(*) as `cnt` from `g5_write_free` where `ca_name` = 123"));
select *                     from `g5_write_free` where `ca_name` = 123 order by `wr_id` asc"));

첫째 query 하나로 다 해결 됩니다.

https://www.php.net/manual/en/mysqli-result.num-rows.php

https://www.php.net/manual/en/mysqli-result.data-seek.php

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 221
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT