2013-04-30 2 views
0

나는 한 번에 하나씩 메뉴 디스플레이 화면을 회전시키는 웹 사이트를 만들었습니다. 이를 위해 각 화면은 사용자가 화면 캠페인을 시작할 때마다 추적하기 위해 데이터베이스에 삽입됩니다.데이터베이스 사용 의견

사용자 수와 캠페인 실행 빈도에 따라 결국 테이블의 ID 필드가 매우 높아집니다. 캠페인이 시작될 때마다 특정 캠페인 및 사용자에 대한 이전 행이 삭제되고 새로 시작됩니다. 물론 id 값은 계속 증가합니다.

id가 5,6,7 자리 이상이되는 것이 일반적입니까? 그리고 그것은 정말로 중요합니까?

그렇다면 1로 재설정하는 방법은 어떻습니까? 아니면 필요합니까?

+0

'auto_increment' 값을 재설정하려면 : ALTER TABLE yourtable AUTO_INCREMENT = 0' – BackSlash

+0

은 전혀 중요하지 않습니다. – Randy

+0

키가 재활용되고 있는지 확인해야합니다. ID가 2 인 고아 캠페인은 큰 문제가됩니다. –

답변

0

어떤 데이터베이스를 사용하고 있는지 알 수없고 열의 데이터 유형을 밝히지 않았습니다. 너비가 너무 좁은 데이터 유형, 예를 들어 tinyint를 선택할 수도 있습니다.이 유형은 (MS-SQL Server를 사용하는 경우) 255에서 처리됩니다. 그것은 명중하기 쉬운 한도입니다. 작은 데이터 32,700은 데이터를 빠르게 작성한 후에 오랫동안 칠 수 있습니다. int는 너무 커서 실제 시나리오 2,147,483,647에서는 한계에 도달 한 적이 없습니다. 당신이 초 인플레이션 경제 또는 고정밀 엔지니어링 작업에서 회계를 수행했다면 나는 생각합니다. 빅 int는 너무 커서, 몇 라이프 타임에 숫자가 부족합니다 : 9,223,372,036854775807. 따라서 bigint를 사용할 때에는 디스크 공간을 낭비하는 것일뿐입니다.

UI를 변경하면 기본 키를 변경하는 것이 번거롭기 때문에 UI의 기본 키가 사용자에게 공개되지 않기를 바랍니다. 비밀로 유지하고 자신을 보지 마십시오. 숫자의 수는 cosy입니다. & 실제로 중요한 것은 데이터 유형이 차지하는 공간과 고정 된 대부분의 숫자 데이터 유형입니다.

+0

데이터 형식 int를 사용하고 있으므로 좋은 모양이어야합니다. – stevenpepe

0

흠 나는 그렇게 생각하지 않았을 것입니다. 일종의 표시 순서가있는 캠페인 표가 있습니다. campaign_id 및 날짜가 처음 표시된 사용자 테이블에 열을 추가합니다. 로그인 시간을 사용할 수 있습니다. 회전 할 때와 뭘 할 것인지에 대한 약간의 논리.