MySQL 데이터베이스의 최대 테이블 크기
MySQL 테이블의 최대 크기는 얼마입니까?50GB에 200만인가요?80GB에 500만?
사이즈 스케일의 끝단이 높은 곳에서는 데이터 압축을 고려해야 하나요?아니면 테이블이 너무 커지면 쪼개질까요?
저는 한때 매우 큰 (테라바이트+) MySQL 데이터베이스로 작업한 적이 있습니다.가장 큰 테이블은 말 그대로 10억 줄이 넘었습니다.
됐습니다.MySQL은 대부분의 경우 데이터를 올바르게 처리했습니다.하지만 그것은 극도로 통제할 수 없었습니다.
데이터를 백업하고 저장하는 것은 어려운 일이었습니다.필요하다면 테이블을 복구하는 데 며칠이 걸릴 것입니다.
우리는 1000만에서 1억 사이의 행 범위에 있는 수많은 테이블을 보유하고 있었습니다.테이블에 중요하게 참여하는 것은 시간이 너무 많이 걸리고 영원히 걸릴 것입니다.그래서 저장 프로시저를 작성해서 테이블을 '걸어서' 'id' 범위에 맞게 조인을 처리했습니다.이런 방식으로 데이터를 한 번에 10-100,000개의 행으로 처리합니다(ID의 1-100,000개와 100,001-200,000개 등으로 결합).이것은 전체 테이블에 대항하는 것보다 훨씬 더 빨랐습니다.
기본 키를 기반으로 하지 않는 매우 큰 테이블에 인덱스를 사용하는 것 또한 훨씬 더 어렵습니다.Mysql은 인덱스를 두 개로 나누어 저장합니다. 즉, 기본 인덱스 이외의 인덱스를 기본 키 값에 대한 인덱스로 저장합니다.색인화된 조회는 두 부분으로 이루어집니다.먼저 MySQL은 인덱스로 이동하여 인덱스에서 찾아야 하는 기본 키 값을 가져온 다음 기본 키 인덱스를 두 번째로 검색하여 해당 값이 어디에 있는지 찾습니다.
결과적으로, 매우 큰 테이블(1-2억 개 이상의 행)의 경우 테이블에 대한 인덱싱이 더 제한적이라는 것입니다.더 적은 수의 단순한 인덱스가 필요합니다.인덱스에 직접적으로 없는 간단한 선택문도 다시는 사용할 수 없습니다.절이 인덱스를 치거나 잊어야 하는 위치입니다.
하지만 모든 것들이 실제로 효과가 있었습니다.우리는 이러한 매우 큰 테이블과 함께 MySQL을 사용하여 계산을 수행하고 정확한 답변을 얻을 수 있었습니다.
첫 번째 질문과 관련하여 데이터베이스의 유효 최대 크기는 일반적으로 운영 체제에 따라 결정되며, 구체적으로 MySQL Server가 생성할 수 있는 파일 크기는 MySQL Server 자체가 아닙니다.이러한 제한은 테이블 크기 제한에 큰 역할을 합니다.그리고 My ISAM은 InnoDB와 다르게 작동합니다.그래서 어떤 테이블이든 그 한계에 따라 달라질 것입니다.
InnoDB를 사용하면 테이블 크기 조작에 더 많은 옵션이 있습니다. 이 경우 테이블 공간 크기를 조정하는 것은 옵션이므로 크기를 조정할 계획이라면 이렇게 해야 합니다.테이블이 전체 오류 페이지입니다.
필요한 모든 정보(OS, Table type, Columns, data type 및 size 등)를 고려할 때 각 테이블의 실제 레코드 양을 잘 모르겠습니다. 그리고 이 정보가 계산하기 쉽는지는 잘 모르겠지만, 몇 가지 경우에 1bi 정도의 레코드가 있는 간단한 테이블을 보았고 MySQL도 포기하지 않았습니다.
언급URL : https://stackoverflow.com/questions/48633/maximum-table-size-for-a-mysql-database
'source' 카테고리의 다른 글
htaccess 파일에서 IP 범위 차단 (0) | 2023.10.14 |
---|---|
C/C++ 효율적 비트 배열 (0) | 2023.10.14 |
PowerShell은 배치 파일에 적합한 업그레이드입니까? (0) | 2023.10.14 |
이것이 의미하는 바는 무엇일까요? 무효가 되는 포인터는 다른 포인터와 결코 동일하지 않을 것입니다. (0) | 2023.10.14 |
Windows에서 npm의 캐시 경로를 변경하거나 캐시를 완전히 비활성화하려면 어떻게 해야 합니까? (0) | 2023.10.14 |