mysql php 프로그래밍 코딩 방법 질문 드립니다.

김제연   
   조회 4833   추천 0    

 안녕하세요 .. 제가 저번에도 질문했듯 php 로 프로그래밍을 하고 있습니다.. 

mysql 에서 ... 자료를 가지고 와서 ... count를 세어야 하는데요 ... 

1. select 로 전체를 가져옴.. 

for 문으로 돌아가면서 .. 조건에 맞으면 카운트 ++

2. mysql  자체에서 count(*)해서 값을 받아와서 변수에 넣음 


이렇게 받아와야 할 값이 6종류가 되는데 ... 1번은 쿼리 한번으로 for문으로 해결할 수 있는 장점이 있고 .. 

2번은 코드가 지저분해지지 않고 뭔가 .. 객체 지향같아 보이는 장점(?) 이 있습니다 -_-;;;;

프로그래밍 방법에는 답이 없겠지만.. 성능상 또는 기능상.... 어떤 방법을 선호 하시는지 

알려 주실 수 있을까요 ... 아니면 새로운 방법을 알려 주셔도 좋습니다.

짧은글 일수록 신중하게.
캔위드 2017-01
2번이 가능하다면 무조건 2번이죠
     
김제연 2017-01
아 그런가요 ? 6번을 쿼리 해야 해서요 ...그냥 한방에 쿼리 해서 가져올수도 있을것 같은데 ...가방끈이 짧네요 .ㅎ
성능상으로 for문보다 ..mysql 6번 쿼리가 빠를까요?
          
캔위드 2017-01
물론 경우에 따라서 1번으로 하는 경우도 있습니다만
보통의 경우 2번이 가능하다면 2번으로 합니다.

1번은
db : 데이터를 탐색. 전송 (쓸때 없는 자원:네트웍,메모리등 낭비)
php : 데이터 수신. 메모리 적제. for문 연산

이지만
2번은 그냥 결과만 가져오면 땡이구
캐쉬가 된다면 더더욱 빨라지겠지요.

심한경우 어떤 시스템은
아에 모든 로직을 프러시져와 펑션으로 구현해서
돌리는 곳도 봤습니다.
개인적으로 그정도 까지 하는건 싫어하지만 장점에 대해서는 인정하기에 그러려니 합니다.

그리고 쿼리 6번도 잘 짜면 한번으로 가능할수도 있습니다
               
김제연 2017-01
아직 프로시저랑 펑션은 어떻게 쓰는지도 모르네요 ^^ 열심히 하겠습니다. 답변 감사합니다.
          
Everyharu 2017-01
sp를 사용하세요.
db의 연산부하보다 네트워크 커넥션부하를 신경쓰는편이 좋습니다.
               
김제연 2017-01
sp가 뭔지 .. 간단히 설명해주실 수 있을까요..
                    
Everyharu 2017-01
댓글 쓰는동안 위에 댓글로 캔위드님이 쓰셨네여.
스토어드 프로시저의 약자입니다
                         
김제연 2017-01
아네 ... 그렇군요 ... 일단은.. 급한데로 이걸로 쓰고 .. 나중에 스킬 업되면.. 그때나 한번 써보겠습니다.. 답변 감사드립니다.
DAP박인호 2017-01
3번
Select에서 조건에 맞으면 카운트해서 6개의 변수에 넣는다.
decode구문 참고하세요.
     
김제연 2017-01
decode 는 처음 들어보는 구문이네요 .. 한번 참고 하겠습니다 .감사합니다.
블루맥스 2017-01
2cpu가 phpschool 도 되는군요, ^^
강한구 2017-01
서브 쿼리로 날리면 되는거 아닌가요?
SELECT (SELECT count(*) FROM 테이블 WHERE 조건절) AS RST1, (똑같이 조건)
하시면 될듯 한데요.
그럼 한 행으로 결과값 받아오실 수 있을듯 합니다.
박남규 2017-01
쿼리 한방으로 하시되,
칼럼 6개로 case when ~ else ~ end 함수를 쓰시면 될 듯 합니다.
예)
select
 count(case when ~ else ~ end) result1,
 sum(case when ~ else ~ end) result2,
....
from table
where ~~~

구체적으로 어떤 작업의 내용인지 알면 더 좋겠네요.
암튼, 쿼리한방으로 하시는것이....
윤성옥 2017-01
mysql이니 박남규님이 말씀하신 방법으로 쓰시면 되지 싶은데
질문이 구체적이었으면 더 좋은 답변이 나오지 않을까 싶습니다.


QnA
제목Page 2112/5729
2014-05   5258534   정은준1
2015-12   1783363   백메가
2017-01   4866   삐돌이슬픔이
2017-01   4807   엠브리오
2017-01   6026   호빈
2017-01   3959   김제연
2017-01   4331   Sikieiki
2017-01   6040   새총
2017-01   4381   luciddream
2017-01   5700   태성기김
2017-01   6364   김건우
2017-01   4834   김제연
2017-01   5850   KunSergio77
2017-01   3643   가빠로구나
2017-01   7202   삐돌이슬픔이
2017-01   4233   컴박
2017-01   5292   악마라네
2017-01   4533   애니악
2017-01   4469   이정근
2017-01   4072   행수행님
2017-01   6939   FAHRENHEIT
2017-01   6172   김건우