2012-05-24 4 views
0

인증 된 사용자와 인증되지 않은 사용자가 모두 사용할 수있는 메시징 시스템을 만들고 있습니다. 메시지의 각 색인은 고유해야합니다. bigint 사용을 생각하고 있지만 약 18446744073709551615 (서명되지 않은)의 제한이 있습니다. 모든 메시지를 기록하고 싶다면 나를 위해 이상적이지 않을 것입니다. 또한 타임 스탬프를 생각하고 있지만 한 명 이상의 사용자가 동시에 메시지를 게시 할 가능성이 있습니다. 따라서 생성 된 타임 스탬프는 다른 타임 스탬프와 충돌합니다.기본 키의 유형/값은 무제한이어야합니다.

여러분은 여기서해야 할 일을 생각합니까?

미리 감사드립니다. D

+0

데이터베이스에서 무한대의 메시지를 처리하려면 무한 수의 하드 드라이브가 필요합니다. –

+2

'BIGINT'를 사용하면 약 922 천분의 일 ** (1522 개의 922 - 922'000 억)의 가능한 값을 얻을 수 있습니다. 1에서 시작하여 ** 1 초마다 ** 1 천 개의 행을 삽입하는 경우 922 조의 한도를 맞추기 전에 2 억 9 천 2 백만년이 필요합니다. ** 실제로 ** 너무 제한적입니다. 너를 위해서? –

답변

3

심각하게? 매초 100 개의 메시지가 게시되면 BigInt는 대략적인 계산으로 60 억년 동안 충분한 양의 ID를 제공합니다. 그때 당신은 아마 약간의 메시지를 보관하고 순서를 끝낼 수 있습니다.

+1

+1 그리고 무어의 법칙이 int 너비에 적용된다면 적어도 int128을 사용할 수있을 것입니다. – StuartLC

관련 문제