본문 바로가기
MSSQL SHRINKFILE와 클라우드에서 용량이 줄지 않는 이유 USB로 DB를 옮겨야 했던 날, SHRINKFILE로 본 리소스 관리업무 중에 DB를 클라우드가 아닌 USB를 이용해 물리적으로 이동시켜야 할 일이 생겼다. 개발 서버에 데이터베이스를 백업한 뒤, DB 용량 줄이기에 들어갔다. 1. SHRINKFILE 후 8GB 이상의 차이용량을 줄이기 위해 전달될 필요가 없는 로그가 담긴 테이블이나 테스트용 테이블들을 모두 삭제하고 SHRINKFILE 명령어를 이용해 용량을 줄였는데, 이 과정에서 이상한 현상을 겪었다. 삭제하는 테이블은 거의 동일했고, 같은 DBCC SHRINKFILE(TRUNCATEONLY) 옵션을 사용했지만 어떻게 삭제하냐에 따라 SHRINKFILE 결과가 8GB 이상 차이 났던 것이다. 2. 삭제 방식에 따라 결과가 달랐다1) SSMS GU.. 2025. 7. 27.
[SQL]Stored Procedure는 언제 써야 할까? SP와 쿼리, 그리고 비즈니스 로직 SP와 쿼리, 그리고 비즈니스 로직1. 들어가며: 이건 성능의 문제가 아니라 설계의 문제다Stored Procedure(이하 SP)를 언제 써야 할까? “SP가 쿼리보다 빠르다”거나 “SP는 구식이다” 같은 말은 흔하지만, 중요한 건 단순한 우열이 아니다. 어떤 로직을 어디에 두는 것이, 이 시스템에서 더 자연스럽고 유지보수에 적합한가?이 글에서는 SP와 쿼리, 애플리케이션 로직이 맡아야 할 역할을 실무 관점에서 정리하고, 특히 ‘비즈니스 로직’이 어디에 있어야 유지보수성과 성능 모두에 유리한지를 살펴보고자 한다. 2. SP의 이점 – 빠르다는 말은 어디까지 믿어도 되는 걸까Stored Procedure(SP)가 데이터 처리에는 빠를 수 있다. SP는 구조적으로 다음과 같은 성능에 유리한 지점들이 있다.. 2025. 6. 24.
[LeetCode] 49. Group Anagrams(정렬하지 않고 풀 수 있지 않을까?) [LeetCode] 49. Group Anagramshttps://leetcode.com/problems/group-anagrams입력값으로 주어진 문자열에서 애너그램끼리 그룹화한 결과를 반환하는 것이 문제의 요구사항이다. 문자를 구성하는 철자의 개수, 즉 구성이 동일하다면 같은 그룹에 속한다. 1. 시작점: 정렬 없이 풀 수 있을 거라 생각했다애너그램 단어들은 정렬을 하면 같은 문자열이 된다. 따라서 정렬 후 같은 문자가 되는지 여부를 판단하여 제출하면 된다. 일반적인 모범답안은 아래와 같다(출처: 파이썬 알고리즘 인터뷰).import collectionsclass Solution: def groupAnagrams(self, strs: List[str]) -> List[List[str]]: .. 2025. 4. 13.
[Python] Sorted()에서 key 정렬 기준에 따라 속도가 달라지는 이유 Python sorted()와 key 정렬기준 최적화 과정 1. 들어가기에 앞서들어가기에 앞서 말하자면 이 글은 가설을 세우고 다시 정정하는 과정을 담고 있다. 따라서 가설이 맞다고 생각하면서 읽기보다는, 그 과정에서 어떤 오류가 있었는지를 살펴보면 더 유용할 것이다. 2. sorted()에서 같은 정렬 기준을 사용했는데, 실행 속도가 다르다코딩 테스트 문제 리트코드937 - 로그 파일 재정렬을 풀다가 예상보다 정렬 속도가 느리게 나오는 경우를 발견했다. 교재에 있는 답안을 그대로 제출했더니 전체 제출된 답안의 런타임 중에 좌측과 같은 분포가 나타났고, 그 후 다른 답안을 참고하여 sorted()의 key 파라미터를 수정하여 제출했더니 우측의 분포가 나타났다.내가 참고한 교재에서는 정렬 시 아래와 같은 .. 2025. 3. 16.
[대용량 이미지 태깅] 프로젝트 개요 및 향후 계획 + 수정예정 대용량 이미지 태깅 및 분석 기능 프로젝트해당 사이드 프로젝트는 이미지를 업로드하면 자동으로 태그를 생성하고, 나중에 쉽게 검색할 수 있도록 만드는 것이 핵심 기능이다.어떤 이미지?당시엔 유용하다고 생각하고 핸드폰에 저장한 스크린샷과 사진들은 많지만 그 정보들을 정리하는 일은 좀체 없다. 그간 쌓인 것을 수동으로 폴더를 정리하거나 검색하는 것도 역시 번거롭다. 대용량 이미지 태깅과 분석 프로젝트는 이렇게 개인의 핸드폰에 쌓여있는 스크린샷에 있는 데이터를 정리하고 유용하게 가공하는 것이 목표다. 모듈화하지만 대량의 이미지 데이터를 다루는 기능을 구현해내는 것 이상으로 확장성을 고려한 모듈화를 통해 변화하는 요구사항에 유연하게 대응할 수 있는 구조를 만들어보려 한다.처음부터 완벽한 시스템을 만드.. 2025. 3. 2.