테스트 사이트 - 개발 중인 베타 버전입니다

5년만에 물어봅니다 채택완료

뽕엄능브라 1년 전 조회 1,921

</p>

<p><a href="../bbs/board.php?bo_table=test&sca=&sfl=wr_datetime&stx=<?php $today = date("Y-m-d",strtotime("+0 day")); echo $today; ?>"></p>

<p><font color="red">오늘:</font> 

<?php $sql_common ="select sum(wr_39) as tot from $write_table where wr_datetime between";

 $sql = "$sql_common '" . date("Y-m-d") . "' and '" . date("Y-m-d") . " 23:59:59'";

 $result = sql_fetch($sql); 

echo number_format($result['tot']); 

 ?></a> 

 

어제:<a href="../bbs/board.php?bo_table=order&sca=&sfl=wr_datetime&stx=<?php $yesterday = date("Y-m-d",strtotime("-1 day")); echo $yesterday;?>"> 

    <?php $sql = "$sql_common '" . date("Y-m-d",strtotime("-1 day")) . "' and '" . date("Y-m-d",strtotime("-1 day")) . " 23:59:59'"; $result = sql_fetch($sql); echo number_format($result['tot']); ?>

</a>     

 </p>

<p>

 

게시판 카테고리 위에 넣었는데 엄청 느려졌습니다, 글은 3만개되구요, 

참고로 다른 도메인의 디비를 새 도메인의 디비에 꾸겨넣었습니다, 새 도메인은 php8.2버전입니다,

이 코드없으면 빠른데 이거 넣으면 많이 느립니다,

 

댓글을 작성하려면 로그인이 필요합니다.

답변 4개

채택된 답변
+20 포인트

당연히 글 누적갯수에 따른 쿼리도 느려집니다.

검색 대상을 전체글이 아닌 board_new 새글 정도나 기간을 설정해서 가져와야할것 같네요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

뽕엄능브라
1년 전
방향은 정말 감사합니다, 그런데 항상 코드가 문제에요 ㅎ

댓글을 작성하려면 로그인이 필요합니다.

아이네
1년 전

</p>

<p><?php

session_start();</p>

<p>// 날짜

$today = date("Y-m-d");

$yesterday = date("Y-m-d", strtotime("-1 day"));</p>

<p>// 오늘 캐시

if (!isset($_SESSION['cache']['today']) || $_SESSION['cache']['today']['expire'] < time()) {

    $sql = "SELECT SUM(wr_39) AS tot FROM {$write_table} WHERE wr_datetime BETWEEN '{$today} 00:00:00' AND '{$today} 23:59:59'";

    $result = sql_fetch($sql);

    $_SESSION['cache']['today'] = [

        'data' => number_format($result['tot']),

        'expire' => time() + 3600 // 1시간 후 만료

    ];

}</p>

<p>// 어제 캐시

if (!isset($_SESSION['cache']['yesterday']) || $_SESSION['cache']['yesterday']['expire'] < time()) {

    $sql = "SELECT SUM(wr_39) AS tot FROM {$write_table} WHERE wr_datetime BETWEEN '{$yesterday} 00:00:00' AND '{$yesterday} 23:59:59'";

    $result = sql_fetch($sql);

    $_SESSION['cache']['yesterday'] = [

        'data' => number_format($result['tot']),

        'expire' => time() + 3600 // 1시간 후 만료

    ];

}</p>

<p>// 캐시 사용

$result_today = $_SESSION['cache']['today']['data'];

$result_yesterday = $_SESSION['cache']['yesterday']['data'];

?></p>

<p><a href="../bbs/board.php?bo_table=test&sfl=wr_datetime&stx=<?php echo $today; ?>">

    <font color="red">오늘:</font> <?php echo $result_today; ?>

</a></p>

<p><a href="../bbs/board.php?bo_table=order&sfl=wr_datetime&stx=<?php echo $yesterday; ?>"> 

    어제: <?php echo $result_yesterday; ?>

</a></p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

뽕엄능브라
1년 전
정말 감사합니다,,

댓글을 작성하려면 로그인이 필요합니다.

s
sinbi Expert
1년 전

g5_board_new 에서 세서 가져오는 게 더 빠르지 않을까요?

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

뽕엄능브라
1년 전
그렇군요 감사합니다,

댓글을 작성하려면 로그인이 필요합니다.

 

</strong></p>

<p><?php

$today = date("Y-m-d");

$yesterday = date("Y-m-d", strtotime("-1 day"));</p>

<p>$sql ="select sum(wr_39) as tot from $write_table where left(wr_datetime,10) ='{$today}'";

$result = sql_fetch($sql); 

?>

 <a href="../bbs/board.php?bo_table=test&sca=&sfl=wr_datetime&stx=<?php echo $today ?>">

<font color="red">오늘:</font><?php echo number_format($result['tot']); ?>

</a> 

 <?php

    $sql ="select sum(wr_39) as tot from $write_table where left(wr_datetime,10) ='{$yesterday}'";

    $result = sql_fetch($sql); 

?></p>

<p>어제:<a href="../bbs/board.php?bo_table=order&sca=&sfl=wr_datetime&stx=<?php echo $yesterday ?>"> 

 <?php echo number_format($result['tot']); ?>

</a></p>

<p><strong>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

뽕엄능브라
1년 전
감사한데 마찬가지네요

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인