데이터베이스에 이미 테이블이 채워져 있습니다. 이제이 테이블에 저장하려는 추가 데이터가 있지만이 데이터는 하나의 추가 필드 (아마도 VARCHAR (40))를 저장해야합니다. 마지막으로 원하는 것은이 공간을 사용하지 않을 기존 엔트리에 할당하는 것입니다. 이 필드가 NULL로 설정되었거나이 여분의 데이터 필드를 포함하는 데이터에 대해 새 테이블을 만드는 것이 더 나을 경우 MySQL의 테이블 크기를 크게 늘리지 않기에 어떻게 든 '똑똑한'MySQL입니까?대부분의 행에 대해 비어있는 테이블에 열을 추가하십시오.
0
A
답변
1
사용중인 스토리지 엔진에 따라 다릅니다. 기본값 인 InDB 스토리지 엔진은 열의 값이 대부분 NULL
인 경우 성능을 향상시킵니다.
이노에서, 각각의 열은 열 당 하나 또는 두 바이트 행 헤더에"오프셋 필드 시작"을 가지고 있기 때문에. 열이 NULL이면 해당 필드 시작 오프셋의 상위 비트가 켜집니다. 이 경우 열을 전혀 저장할 필요가 없습니다. 따라서 많은 NULL이 있다면 저장소를 상당히 줄여야합니다.
참조 :
는 SO Answer
Example for null value performance efficiency
주 : MS SQL에서 동일하게 구현하려면 당신은 SPARSE
+0
링크를 제공해 주셔서 감사합니다. – Lieuwe
관련 문제
- 1. 동적으로 열을 행에 추가하십시오.
- 2. 각 행에 count() 열을 추가하십시오.
- 3. django의 테이블에 열을 추가하십시오.
- 4. 데이터 테이블에 나열하고 열을 추가하십시오.
- 5. 프로그래밍 방식으로 테이블에 열을 추가하십시오.
- 6. GWT CellTable - 행에 따라 열을 추가하십시오.
- 7. 열을 선택하고 다른 행에 해당 금액을 추가하십시오.
- 8. datatable 편집 가능한 열 너비가 비어있는 행에 대해 이상하게 작동합니다
- 9. DataGrid의 모든 행에 대해 삭제 버튼을 추가하십시오.
- 10. SQL 계산 된 열을 테이블에 추가하십시오.
- 11. SQL에 제약없이 테이블에 새 열을 추가하십시오.
- 12. 거대한 테이블에 DEFAULT 값이있는 열을 추가하십시오.
- 13. 다른 테이블의 계산에서 테이블에 mysql 열을 추가하십시오.
- 14. .NET에서 Access (Jet) 테이블에 열을 추가하십시오.
- 15. oracle의 기존 테이블에 기본값이있는 열을 추가하십시오.
- 16. 기존의 mySQL 테이블에 데이터 열을 추가하십시오.
- 17. 줄리안 날짜 열을 SQLite 테이블에 추가하십시오.
- 18. sql 결과에 열을 추가하십시오.
- 19. 모든 행에 대해 전체 테이블에 대해 집계하는 업데이트 명령 최적화
- 20. 테이블 행에 데이터를 동적으로 추가하십시오.
- 21. 무시; 데이터 테이블에 추가하십시오.
- 22. 하나의 문자열에 여러 열을 추가하십시오.
- 23. jtable에서 열의 각 행에 대해 다른 콤보 상자를 추가하십시오.
- 24. 동적으로 dataGridView에 열을 추가하십시오
- 25. postgresql 데이터베이스에서 읽은 테이블의 마지막 행에 체크 박스 열을 추가하십시오.
- 26. 테이블에 동적으로 추가 된 행에 jquery time picker를 추가하십시오.
- 27. GridView2를 GridView1 행에 추가하십시오.
- 28. DatagridviewComboboxCell을 새 행에 추가하십시오.
- 29. html의 테이블에 대해 동적으로 추가 된 행에 CSS 추가
- 30. 각도가 아닌 행에 스크롤 막대를 추가하십시오.
VARCHAR가 똑똑 고려할 수 있습니다. – Nico