DB 유의사항

DB 유의사항

개발일기

 

오늘은 데이터베이스 기초 공부를 마쳤다. 공부를 하면서 이것은 중요하다고 생각했던 부분들을 정리해본다

1. DROP, DELETE를 하기 전에 손을 떼고 잠시 심호흡을 하자. 커피 한잔도 괜찮다.


개인 프로젝트 등의 소규모 작업에서는 실수로 데이터를 날렸을 시 잠깐 귀찮고 말 수 있다는 생각이 들었지만,

기업은 대규모의 데이터를 핸들링하는데 담당자가 실수로 그런 대규모의 데이터를 한순간에

날려버릴 수도 있다는 생각이 드니 그 상황이 얼마나 끔찍할지 상상이 된다.

회사에서 임금을 받는다면 나는 돈을 받고 일을 하는 프로이다. 프로의 마음가짐은 인생 모든 부분에서 중요하다.

 

2. CHAR와 VARCHAR의 차이가 무엇인지 고민했다.


설명만 들어보면 “그냥 VARCHAR로 다 해버리면 공간 복잡도가 줄어드는 거 아닌가?” 라고 생각하였는데,

구글링을 해보니 CHAR의 경우 고정된 공간을 할당하므로 검색에서 VARCHAR보다 유리하다고 한다.

즉, 시간 복잡도에서 이득을 볼 수 있다는 뜻 같다.

일장 일단이 있는 것 같으므로 타입을 잘 생각해서 결정해야 할 것 같다.

 

3. DELETE는 Row단위로, TRUNCATE는 한 번에


시간 복잡도의 차이가 크다.

 

4. INSERT문 사용 시


INSERT INTO 테이블명(필드명) VALUES(필드 값)

INSERT INTO 테이블명 VALUES(필드 값)

 

두가지 문법이 존재한다.

처음에는 후자가 더 짧으니까 편해 보인다고 생각하였는데,

생각해보니 데이터베이스는 수시로 변동이 되기 때문에

후자의 문법으로 추가를 한다면 오류가 날 확률이 있다고 생각했다.

추가로 INSERT문 실행 시 특정 필드에 NULL값이 들어가길 원하는 경우도 있을 수 있는데,

후자의 문법을 사용하면 일괄적으로 데이터가 삽입되어야 하므로 원치 않는 값을 넣어야 하는 상황이 생길 수 있기 때문에 이때도 전자의 문법을 사용한다더라.

 


© 2022. All rights reserved.