Extra Form
PHP PHP 7.4

Html 파일내에 

<?php ?> 를 많이 쓰는편의구

 

Mysql db의 내용을 조건에 맞게 출력하는 페이지인데

그 조건이 다양하고 여러가지를 출력하다보니

(실제로 출력값은 짧은 숫자들 입니다)

코드가 길어졌습니다.. 한 7000줄정도 되는데

문제가..

이 페이지에 들어가면 로딩이 걸립니다. 4~5초정도..

 

1.이게 코드를 최적화 시켜야 로딩이 없어질까요?

2. 아니면 어쩔수 없는걸까요??

  • profile

    코드가 길어서가 아니고
    Mysql db의 내용을 조건에 맞게 출력하는데 시간이 많이 걸리는거 아니신가요?

    db에서 대량의 데이터에서 조건을 검색하는 쿼리의 경우 어떤 쿼리이냐에 따라서 성능이 크게 달라질텐데요..

  • profile profile
    답변감사합니다.
    회사내 각 지점에서 올린 데이터 현황페이지이구,
    Db에서 불러오는 쿼리는 전부
    Select count 이긴한데 where 조건이 기본 3~4개씩 달립니다.
    그런데 지점이 30개정도이고,
    지점별로 sql 쿼리가 32개정도씩 붙어서..

    약 1000개 정도 select count 가 있습니다.
    그 쿼리의 where문은 각 3~4개씩 있구요..

    이렇게 세어보니 로딩이 당연한거같기도 하네요 ㅜ
  • profile profile

    SELECT COUNT(*) 쿼리가 실제로 데이터를 가져오는 쿼리보다 더 오래 걸리는 경우도 있습니다.

    지점별로 GROUP BY 하거나 IN ( ) 조건으로 한 번에 쿼리한 후 PHP단에서 분류한다면 쿼리 수를 많이 줄일 수 있을 것 같습니다. N+1 쿼리 문제라고 검색해 보시면 비슷한 상황에 대한 이야기가 많이 나오니 참고하세요.

  • profile profile
    감사합니다! 말씀해주신 내용대로 수정해보겠습니다~
  • profile

    비교적 최근 버전의 PHP라면 코드가 7000줄이든 70000줄이든 단지 그 분량 때문에 느려지지는 않습니다. 실제로 그 과정에서 서버에게 얼마나 어려운 일(DB 쿼리, 쿼리 결과 정리 등)을 시키고 있는지를 살펴봐야지요.

    단 7줄이라도 무한루프를 돌린다면 1년 내내 걸리도록 만들 수 있고, 700000줄이라도 단순 작업만 시킨다면 1초 안에 로딩 쌉가능합니다. 일반적인 XE/라이믹스 게시판 한 페이지에 실행하는 코드 분량이 5~10만 줄 정도입니다.

  • profile profile
    답변감사합니다!

    세어보니 db에서 출력을 요청하는게 많긴한것같습니다.
    제가 기본지식없이 코드를 짜다보니,
    효율적인 sql을 사용하지 못해서 그런거같습니다..
    회사 유관부서에 자문을 구해야하겠네요..