웹마스터 팁

뭐 별루 팁도 아니지만
이번에 이것땜에 고생을 많이 해서 혹시 모르는 님들도 있을까하는 노친네의 염려 ㅡ,.ㅡ;;
제가 하고 싶은 말은
mysql_fetch_row
mysql_fetch_array
mysql_fetch_object
첨 PHP를 시작할때 부터 저 나름대로 코드의 가독성, 디버깅의 편리성등의 이유료
mysql_fetch_array를 줄곳 써왔는데
요번에 어느 사이트를 제작하다 보니 실행속도의 문제등으로 코드, SQL 쿼리 를 정리하는 도중
요넘들의 속도차이를 테스트 하다보니 놀라운 점들이 많더라구요.
먼저 결론부터 말씀드리자면
mysql_fetch_array 가 가장 늦습니다.
mysql_fetch_assoc 가 그다음
그리고 mysql_fetch_object와 mysql_fetch_row는 비슷한데 mysql_fetch_row가 더 빠르구요
그런데 사실 mysql_fetch_array 와 mysql_fetch_row 는 많게는 2초 까지 차이가 나더군요.
--------------------------------------------------------------------------------------------------------SQL QUERY
SELECT
  sg.id, sg.pics, sg.mov_file, sg.sell_price, sg.buy_year, sg.sell_type, sg.color, sg.trm,
  sg.buy_month, sg.mileage, sg.zZim,sg.hit, sg.is_del,
  cm.vender, cm.k_class, cm.car_name, m.mem_post,m.mem_addr, m.mem_ID, cv.k_vender
FROM  car_vender AS cv USE INDEX (is_import, e_vender)
LEFT JOIN car_model cm USE INDEX (id, vender, e_class, car_type) ON (cv.e_vender = cm.vender)
LEFT JOIN sell_goods  AS sg USE INDEX (id, rel_id, rel_ref, is_del) ON (sg.rel_ref = cm.id)
LEFT JOIN member AS m USE INDEX (is_del, mem_ID_2) ON (sg.rel_id = m.mem_ID)
WHERE (sg.is_del <> 'y') AND (m.is_del <> 'y')
--------------------------------------------------------------------------------------------------------------------
여기에 약간의 where 조건이 추가 되지만 인덱스는 여러번의 테스트를 거쳐서 제대루 걸렸다고? ,ㅡ,.ㅡ;; 생각됩니다.
여기서 한가지 충고를 하고 싶은 말씀은 꼭 mysql_fetch_array를 쓰시려는 분들은 mysql_fetch_assoc 를 쓰라고 말씀드리고 싶습니다.
똑같은 방법으로 구현할 수 있는 방면에 속도는 훨씬 빠르더 군요....
다만 mysql_fetch_assoc는 $r[0]과 같은 형식은 사용할 수 없더군요. $r[0]의 형식을 쓰시려면 mysql_fetch_row를 쓰시면 되구요.
이상 좋은 팁이 되었으면 좋겠습니다.
그럼 좋은 하루 되세요^^&
참 데이터는 4만건 정도에서 테스트 되었습니다.
제목 글쓴이 날짜
[추천 소스] 최신의 인기가요 뽑아오는 PHP프로그램 [3] 제누스 2002.03.28
[수정본]남은 계정 용량 보여주는 PHP 프로그램 [9] 제누스 2002.03.28
[수정본]MP3파일를 검색하여 윈앰프로 실시간 감상하기 제누스 2002.03.28
[Yangkun] (함수) 간단 각종 Global 변수 검사 [1] 양군 2002.03.31
Hide-Show-Menu 를 PHP로 구현하기... [7] TryZ 2002.04.06
[수정+파일첨부]NZEO처럼 모드 변경 만들기 - with cookie [6] file TheMics 2002.04.07
[추천 소스] 게시판 답글 알고리즘..(서기생각 -_-;;) [2] 서기 2002.04.10
Zero Counter ver 0.9b 이미지 카운터로 만들기.. [5] _a_SPD_a_ 2002.04.15
[ 삼항연산 ] 조건문 리턴 [6] 불티나 2002.04.20
PHP로 아바타를 구현해 봅시다. [18] ★Zzony~ 2002.05.13
간단한 퀴즈? 프로그램을 짜보자구요~^^ [4] teenteenv 2002.05.15
NaN ,Undifind, Null 이 먼 말이 다냐? [2] 최후의성전 2002.05.15
접속 IP 알아보기..^^ [11] ZipShin 2002.05.16
echo도 많이 유용하게 사용할수있습니다..^^ [14] ZipShin 2002.05.19
제가 쓰는 mysql 검색알로리즘 입니다. [5] 콩알™ 2002.05.20
서기가 쓰는 Echo [12] 서기 2002.05.20
MYSQL에 접속하기..^^ [9] ZipShin 2002.05.20
초보자를 위한 PHP강좌 파일 [chm형식] [5] ZipShin 2002.05.21
제로보드 상황판때기(?) 만들기... [9] file _a_SPD_a_ 2002.05.28
[씽크식 PHP] 출력, 어떤 방법이 빠를까? [11] John Sync. 2002.05.29