mysql db에 이미지 파일을 넣었는데요...

그누보드 icon의 경우 사이즈도 작구 get_sideview에서 불러오는 횟수도 많구해서
이미지파일 자체를 mysql db에 넣어버렸습니다. 넣는 것은 아주 간단하더라구요.

문제는 그것을 불러와서 보여주는 것인데, 그냥 <?=$member[mb_icon]?> 이렇게
하면 파일의 바이너리 내용이 주르륵 나오더라구요. 그래서 찾아보니 별도의 파일에서
header 정보를 보내고 파일내용을 보내야 한다고 하는데 꼭 그방법 밖에 없나요?

<?php echo "<img src=\"view.php?file={$file}\">";?>

속도를 높여 보겠다고 db에 이미지를 넣는 것인데, 별도의 파일을 또 부르라니 ㅠ..ㅠ

그냥 db에서 가지고 온 image를 보여주는 것은 안될까요???
|

댓글 16개

둘다 디비를 통하는데 속도에 상관이 있을까요?


http://kldp.org/node/25881
마지막 코멘트를 참고해 보세요
단. IE에서는 안된다는거 -0-;
이게 XHTML인가요?
XHTML은 아닙니다.
base64 data URI 라고 하네요
http://www.linuxchannel.net/docs/img-src-base64.txt
참고하세요. 저도 몰라요 ;;;
속도에 영향이 나름 큽니다.
get_sideview를 실행할 때 불필요한 disk op를 많이 줄일 수 있거든요.

이런식으로 하면 될 것 같은데... 안되네요. ㅠ..ㅠ

<? echo imagejpeg(imageCreateFromString($mb[mb_icon])); ?>

내용을 가지고 이미지를 만들어서 그 이미지를 jpeg으로 바꿔서출력?왜 안되징??? ㅠㅠ
imagejpeg()는 별도 URI가 필요하지 않나요?
google에서 찾은 샘플이 저렇게 되어 있더라구요. ㅠ..ㅠ...
http://kr2.php.net/manual/en/function.imagecreatefromstring.php
이미지 데이터로부터 만드는 것도 있어요^^
이미지건 디비 테이블이건 다 disk operation입니다.
그리고 이미지는 캐쉬 기능이 있어서 304나오면 더 빠르지 않을까요?
db의 경우에는 cache 기능이 있어서 중복된 query에 빠르게 반응하쟎아요?
pc에서 캐쉬 체크하는 것보다 생각없이 가져오는게 더 빠를거 같기도 해요.
db도 단순 파일 operation도 둘 다 캐쉬는 있습니다.
그러니까, mysql도 파일시스템 캐쉬를 쓰는 거죠.
DBMS 자체 캐쉬는 잘 모르겠네요.

경우에 따라 다르니까 테스트해 보는 수밖에 없을지도 모르겠네요.
mysql에는 qurey cache가 있어서 이미 조회한 것은 메모리에서 가져와요. 그러니까 아이콘을 db에 넣어두게 되면 속도가 꽤 빠르게 됩니다.
사용하지 않는 최고의 방법이 있습니다.
댓글을 작성하시려면 로그인이 필요합니다.

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
17년 전 조회 1,857
17년 전 조회 1,968
17년 전 조회 819
17년 전 조회 1,639
17년 전 조회 901
17년 전 조회 949
17년 전 조회 1,519
17년 전 조회 2,830
17년 전 조회 785
17년 전 조회 1,623
17년 전 조회 790
17년 전 조회 842
17년 전 조회 1,031
17년 전 조회 941
17년 전 조회 922
17년 전 조회 864
17년 전 조회 834
17년 전 조회 907
17년 전 조회 771
17년 전 조회 873
🐛 버그신고