개발지식 아카이브/Database
-
[MongoDB] 컬렉션에서 컬럼 데이터를 삭제해도 공간이 반환되진 않는다는게 무슨 말일까?개발지식 아카이브/Database 2024. 12. 10. 16:19
MongoDB 컬렉션에서 컬럼(필드) 데이터를 삭제해도 공간이 반환되지 않는다는 것은 다음을 의미합니다:MongoDB는 데이터를 저장할 때 document의 크기와 함께 파일 시스템의 물리적 공간을 할당합니다. 만약 특정 필드(컬럼)를 document에서 삭제하더라도, 해당 필드가 차지했던 공간이 자동으로 반환되거나 줄어들지 않습니다. 대신, 삭제된 필드의 공간은 내부적으로 채워지지 않은 빈 공간으로 남게 되고, 이후 document가 업데이트되거나 데이터가 추가될 때 재사용될 수 있습니다.이 동작은 MongoDB의 WiredTiger 스토리지 엔진이 document 크기가 증가하거나 감소하는 경우 효율적인 관리를 위해 설계된 방식 때문입니다. 왜 공간이 반환되지 않을까?1. 파일 단위의 저장 구조 ..
-
[MySQL] DB 쿼리 검색결과를 CSV파일로 바로 추출하기개발지식 아카이브/Database 2019. 6. 15. 15:10
DB에서 쿼리검색결과를 CSV 파일로 취득할 때에는, 2가지 방법이 있다. DB안에서 쿼리를 바로 입력하여 추출할 수도 있고, 콘솔에서 명령어로 추출하는 방법이 있다. * DB가 있는 서버와 동일한 서버에 파일을 추출하려고 한다면 전자, 후자의 방법을 모두 적용가능하지만, DB서버를 따로 운용하고 있다면 1의 방법은 사용할 수 없다. 파일이 접속 서버측이 아니라, DB측 서버에 생성될것이기 때문이다. * 단순히 백업 목적의 EXPORT라면 mysqldump로 export하는 편이 더 간편할 수 있다. 1. DB안에서 쿼리로 CSV 추출하기 SELECT col1, col2, col3 FROM MY TABLE INTO OUTFILE '~/20190101.csv' FIELDS TERMINATED BY ',' ..