2012-12-17 3 views
2

본질적으로 테이블이 몇 개 있지만 수백만 행의 잠재력이있는 데이터베이스를 만들려고합니다.Mysql 최대 행

사이트가 이미지 공유 웹 사이트라고 가정 해 보겠습니다. 하나의 기본 키가있는 하나의 테이블과 약 5 개의 필드 (id, view_order, user_id, image_file, date_uploaded)를 갖습니다.

나는 표 (ID, image_id, time_voted)

아주 간단한 계산하는 두 번째 테이블이있을 것이다.

MySQL은 첫 번째 테이블에 12 억 개의 행이 있고 두 번째 테이블에 100 억 개의 행이있는 데이터베이스를 쉽게 처리 할 수 ​​있습니까?

첫 번째 표에서 이미지의 ID를 기반으로 한 검색, 간단한 계산 및 이미지 조회가 필요하지 않습니다.

저는 데이터베이스 전문가가 아니므로 제 용어를 용서해주십시오.

미리 감사드립니다, 부호를 사용하여 32 비트 시스템에서

+0

의 관계를 정의하는 열이 무엇인지? –

+1

"쉽게 처리 할 수있는"테라 가운? 아니요. 소프트웨어 제품은 그렇게 할 수 없습니다. –

+0

votes.image_id -> images.id – BBagi

답변

7

, 당신은 약 40 억 기록을 가질 수 있습니다 int로. 큰 int 및/또는 64 비트 시스템을 사용하면 거의 무제한입니다. 페이스 북은 MySQL을 백엔드로 사용한다. 문제는 레코드 수가 아니라 성능이다. MySQL은 수억 개의 행을 처리 할 수 ​​있으며 성능이 매우 우수합니다.

+0

응답 해 주셔서 감사합니다. 1)보기 페이지가 요청되면 표시 할 이미지를 파악하기 위해 이미지 ID별로 조회를 수행하십시오. 2) 이미지를 볼 때, 해당 이미지에 대한 투표 수를 투표 표에 표시하고 을 표시하십시오. 3) 투표 한 이미지가있는 경우 투표 표에 레코드를 추가하십시오. – BBagi

+1

장기간에 # 2를 캐시에 저장해야합니다 (예 : memcache). # 3이 발생하면 캐시 된 값을 업데이트하십시오. –