mysql에서 컬럼 기본값을 null과 not null 중 어떤 것을 써야 좋을까요?


예) member_table
no - auto increment,
id - not null,
pw - not null,
email,  
phone,  
address 

예를 들어서 위의 테이블에서 id와 pw만 필수 입력 항목일 때, email, phone, address 컬럼은 기본값을 not null을 주고, insert할 때 싱클퀘테이션을 입력해 주는지, 아니면 그냥 기본값을 null로 주고, insert 할 때 null을 주거나, sql문에서 해당 컬럼을 빼거나 하는지 궁금하네요.

이 기본 세팅에 따라 select할 때도, where email != NULL 로 할 지 where id != '' 로 할 지 결정을 해야 하는데, null은 인덱스를 안 타서 모든 컬럼을 다 훑어 본다는 얘기도 있네요..

상황마다 다르겠지만, 기본적으로 권장되는 방법이 있다면 답변 부탁드립니다~

1답변

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.