사이트 내 전체검색
PHP
5번의 SQL을 얕보지 마라
로빈아빠
https://cmd.kr/php/335 URL이 복사되었습니다.

본문

OOO 첫화면의 탭 최신글에는 탭에 사용되는 5개의 게시판 이름을 얻기 위해서


5번의 SQL을 수행 하게 되어 있습니다. 이런 탭이 3개 사용되었으니, 기본으로


1페이지에 15개의 SQL이 사용된 것이죠. 이것을 3번만 하면 효과가 어느정도 일까요?


 


해보니까 영향이 아주 아주 많이 큽니다. ㅎㅎ



12개의 SQL은 접속량이 많은 사이트에서는 순간적인 폭탄이 될 수 있습니다.


(원본)


// 아래 부분 테이블명
$my_table1 = 'myinfo';
$my_table2 = 'btr';
$my_table3 = 'bed';
$my_table4 = 'bed_gh';
$my_table5 = 'eat';


 


$sql1 = "select bo_subject from $g4[board_table] where bo_table='$my_table1'";
$sql2 = "select bo_subject from $g4[board_table] where bo_table='$my_table2'";
$sql3 = "select bo_subject from $g4[board_table] where bo_table='$my_table3'";
$sql4 = "select bo_subject from $g4[board_table] where bo_table='$my_table4'";
$sql5 = "select bo_subject from $g4[board_table] where bo_table='$my_table5'";
$bo_name_sql1 = sql_query($sql1);
$bo_name1 = sql_fetch_array($bo_name_sql1);
$bo_name_sql2 = sql_query($sql2);
$bo_name2 = sql_fetch_array($bo_name_sql2);
$bo_name_sql3 = sql_query($sql3);
$bo_name3 = sql_fetch_array($bo_name_sql3);
$bo_name_sql4 = sql_query($sql4);
$bo_name4 = sql_fetch_array($bo_name_sql4);
$bo_name_sql5 = sql_query($sql5);
$bo_name5 = sql_fetch_array($bo_name_sql5);


 


(수정)


 


$sql = " select bo_table, bo_subject from $g4[board_table] where bo_table in('$my_table1','$my_table2','$my_table3','$my_table4','$my_table5') ";
$result = sql_query($sql);
$arr = array();
while ($row = sql_fetch_array($result))
{
    $bo_table = $row[bo_table];
    $arr[$bo_table] = $row[bo_subject];
};


$bo_name1[bo_subject] = $arr[$my_table1];


$bo_name2[bo_subject] = $arr[$my_table2];
$bo_name3[bo_subject] = $arr[$my_table3];
$bo_name4[bo_subject] = $arr[$my_table4];
$bo_name5[bo_subject] = $arr[$my_table5];






출처:그누보드 글쓴이 아빠불당님

댓글목록

등록된 댓글이 없습니다.

PHP
871 (13/18P)

Search

Copyright © Cmd 명령어 18.117.71.239