직접 저장하는 경우도 있고, 저장 path 을 남겨 놓는 경우도 있습니다. oracle 의 경우 BFILE data type 을 사용하면 insert 시에 oracle 이 파일로 저장하고 DB에는 해당 파일의 reference 만 저장해 놓습니다. mysql 의 경우에는 file 저장하고 path를 DB에 저장하면 비슷한 효과가 될 것이고요.
그리고 base64 로 저장하면 용량이 너무 늘어나기 때문에 보통은 binary type 으로 저장하며, BLOB, CLOB, BFILE 등의 data type이 있습니다. (data type은 db 마다 다릅니다.)
요즘은 overhead 때문에 file 을 DB에 직접 저장하는 경우 보다는 경로만 저장하는 것이 좀 더 많은 것 같습니다. 그리고 아예 저장 위치를 따로 잡지 않고 DB 필드 값을 이용하여 저장 경로를 만드는 방법도 많이 사용 합니다. 즉, case by case 라는 얘기죠. 정답은 없습니다.
직접 저장하는 경우도 있고, 저장 path 을 남겨
직접 저장하는 경우도 있고, 저장 path 을 남겨 놓는 경우도 있습니다. oracle 의 경우 BFILE data type 을 사용하면 insert 시에 oracle 이 파일로 저장하고 DB에는 해당 파일의 reference 만 저장해 놓습니다. mysql 의 경우에는 file 저장하고 path를 DB에 저장하면 비슷한 효과가 될 것이고요.
그리고 base64 로 저장하면 용량이 너무 늘어나기 때문에 보통은 binary type 으로 저장하며, BLOB, CLOB, BFILE 등의 data type이 있습니다. (data type은 db 마다 다릅니다.)
요즘은 overhead 때문에 file 을 DB에 직접 저장하는 경우 보다는 경로만 저장하는 것이 좀 더 많은 것 같습니다. 그리고 아예 저장 위치를 따로 잡지 않고 DB 필드 값을 이용하여 저장 경로를 만드는 방법도 많이 사용 합니다. 즉, case by case 라는 얘기죠. 정답은 없습니다.
네 그렇군요
용량이 비교적 작은 이미지 파일들이라 base64 로 저장할까 고민중이었는데
말씀대로 오버헤드 때문에 그냥 경로를 저장하는게 낫겠네요
알겠습니다 답변 감사합니다~~
댓글 달기