찾다

 >  Q&A  >  본문

mysql - 데이터베이스 설계(체계 설계), NULL을 최대한 피해야 하는가?

실제 현상

배운 내용:

  1. NULL 의미가 불분명합니다

  2. 쿼리 최적화가 쉽지 않습니다

  3. Null 값을 나타내는 경우 (논리적으로) 다른 대안이 있을 수 있습니다

    • VARCHAR(100) NULL이 아님 기본값 '';

    • INT는 NULL이 아닙니다. 기본값 0;

예상되는 현상

  1. Scheme을 설계할 때 NULL에 대한 태도를 이해하고 싶습니다. (시도해야 한다는 기사를 읽은 기억이 납니다: NOT NULL DEFAULT XXX)

仅有的幸福仅有的幸福2746일 전718

모든 응답(2)나는 대답할 것이다

  • 巴扎黑

    巴扎黑2017-05-18 10:56:25

    네, NULL 열은 최대한 피해야 하며, 특히 인덱스 열의 경우 기본값을 최대한 명시적으로 설정해야 합니다. mysql에서는 null이 공간을 차지합니다. 값이 인덱싱되면 해당 인덱스는 유효하지 않습니다.

    회신하다
    0
  • 某草草

    某草草2017-05-18 10:56:25

    예, 필드가 비어 있지 않다고 판단할 때 is not null도 사용해야 합니다. mysql에서 NULL은 실제로 공간을 차지합니다. NULL 값은 B-트리 인덱스에 저장되지 않으므로 인덱스된 필드가 NULL이면 인덱스 효율이 많이 떨어집니다.

    회신하다
    0
  • 취소회신하다