두 종류의 쿼리가 있는데 속도, 메모리 차이가 많을까요? > 십년전오늘

십년전오늘

10년전 추억의 책장을 넘기며

두 종류의 쿼리가 있는데 속도, 메모리 차이가 많을까요? 정보

두 종류의 쿼리가 있는데 속도, 메모리 차이가 많을까요?

본문

1.

$sql = " select * from table ";
$result = sql_query($sql);
while ($row=sql_fetch_array($result)) {
    // 처리
}


2.

$sql = " select id from table ";
$result = sql_query($sql);
while ($row=sql_fetch_array($result)) {
    $sql2 = " select * from table where id='$row[id]' ";
    $row2 = sql_fetch($sql2);
    // 처리 
}


반드시 2번을 사용해야 하는 상황이라면

  • 복사

댓글 전체

row가 많을수록 점점 속도차이가 많이 나고.. 훗날 심각한 결과를 초래할수도..
반드시 2번을 사용해야 되는 상황이라도.. 서브쿼리 뷰테이블등 갖은 방법을 동원 샤방샤방해서 반드시 2번을 사용하지 않도록 노력을 -_-;;
$sql = " select * from table ";
$result = sql_query($sql);
while ($row=sql_fetch_array($result)) {
    $row2 = array_keys($row, "$row[id]");
    // 처리
}

요런식은 어떨까요
join을 이용할 수 있는 상황인지 판단해보는 것도 좋지 않을까요? 그누를 보면 join이 가능한 곳도 있던데 무조건 단순 쿼리만 날리는 것 같습니다...
그래서는 안됩니다... 그런데 지금 저게 저렇게 눈에 보여서 그렇지, 어딜가나 함수로 불러올때 반복쿼리를 쥐도새도 모르게 다들 쓰고계시다는... 지금 그누보드도 반복쿼리 범벅인데... 최신글 할때도 리스트 페이지에서도, get_file, get_list, latest 이런거 다 반복 종속쿼리잖아요. 게다가 어짜피 저런 반복되는 쿼리는 sql에서 하나하나 하는게 아니라 쿼리를 캐시를 해서 한다네요, 만약 이 옵션을 켜놓은 상태라면.
© SIRSOFT
현재 페이지 제일 처음으로