열거 형 위에 tinyint (1)을 사용하는 경우 성능이나 호환성의 이유가 있습니까? 다른 것?MySQL의 부울 유형이 열거 형 대신 tinyint에 매핑되는 이유는 무엇입니까?
3
A
답변
2
MySQL indexes ENUMs with integers에 대해 관심을 가질 수 있습니다.
SQL 표준에는 1999 년부터 부울 데이터 형식이 포함되어 있습니다. 유효한 값은 true, false, unknown 또는 null입니다. Implementation across various database systems is spotty.
MySQL은 진정한 부울 데이터 유형을 지원하지 않습니다. BOOLEAN은 1 바이트 만 차지하는 TINYINT에 매핑됩니다. MySQL은 0을 거짓으로 해석하고 다른 모든 숫자는 참으로 해석합니다.
1
최대 8 개의 값을 갖는 열거 형이 바이트에 저장됩니다. tinyint는 int에도 저장됩니다. 그래서 아무런 차이가 없습니다. MySQL은 bool에 대해서는 전혀 모른다. 그래서 사람들은 성능 등을 위해 옵션 중 하나를 사용한다.
관련 문제
- 1. 부울 대 열거 형 vs.
- 2. 부울 값을 SortOrder 열거 형 값으로 변환합니다.
- 3. 두 구성원 열거 형 비교 부울 값
- 4. DB의 열거 형 또는 열거 형 열거 형
- 5. MySQL의 데이터 테이블과 열거 형 비교
- 6. 문자열에서 열거 형 매핑
- 7. 복합 형 열거 형
- 8. 목록 열거 형 값 열거 형 PHP mysql
- 9. jqGrid 열에 대한 부울 또는 열거 형 드롭 다운 필터링
- 10. 열거 형
- 11. 열거 형 표현
- 12. 여러 NSArray 열거 형
- 13. Postgres에 열거 형 추가하기
- 14. Javascript의 자동 열거 형
- 15. MySQL의 int 열에서 선택시 열거 형/문자열을 출력하는 방법
- 16. 다른 열거 형의 열거 형
- 17. MvcHttpHandler가 * .mvc에서 매핑되는 이유는 무엇입니까? 기본적으로
- 18. SqlDbType이 varChar (max)에 매핑되는 이유는 무엇입니까?
- 19. DTO의 열거 형 명명 규칙
- 20. 열거 형 데이터 형식
- 21. 열거 형 코드 단축
- 22. Java의 열거 형 이해
- 23. 열거 형 및 상속
- 24. 클래스가 열거 형 (또는 열거 형 일 필요)
- 25. 자바 : 익명 열거 형?
- 26. 이 열거 형 확장 메서드를 "볼"수없는 이유는 무엇입니까?
- 27. 반복 대. 열거 형
- 28. "부울"대신 부울을 매개 변수로 전달해야하는 이유는 무엇입니까?
- 29. MySQL의 쿼리 부울
- 30. 열거 형 이해
* zero = false, non-zero = true *는 많은 언어에서 익숙한 개념이며 매우 간단합니다. 그러나 문자열을 사용하면 Y/N, T/F, 예/아니요, 참/거짓, TRUE/FALSE, s/no ... 등 여러 가지 가능성이 있습니다. –
High Performance MySQL에 따르면 boolean을 저장하는 가장 효율적인 방법은 nullable CHAR (0)입니다. – guidoism