source

MySQL 데이터베이스의 최대 테이블 크기

ittop 2023. 10. 14. 10:35
반응형

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

반응형