한 번에 한 시간에 많은 데이터를 테이블에 임시로 저장해야합니다. 예를 들어 매 시간마다 20k (또는 다른 큰 수의) 레코드를 씁니다. 나는 그 시간 동안 그 데이터로 몇 가지 일을하고, 시간이 끝날 때까지 테이블은 다시 비어 있습니다. 새 시간이 시작될 때 20,000 건 이상의 레코드를 추가하고 프로세스를 계속 진행합니다.매 시간마다 삽입 및 제거되는 많은 행이있는 테이블을 어떻게 관리해야합니까?
현재 INT 자동 증가 기본 키가있는 MySQL 테이블에 데이터를 저장하고 있습니다.
결국 숫자가 부족 해지고 문제를 해결하는 솔루션을 찾고 있습니다 (예 : 서명되지 않은 BIG INT를 사용). 몇 가지 솔루션을 생각해 볼 수는 있지만, 결과가 각각 무엇인지, 특히 MySQL에 미치는 영향에 대해서는 확신 할 수 없습니다. 예를 들어, 이렇게하면 테이블 손상이나 성능 문제 등을 일으킬 수 있습니다.
어떻게 이런 문제를 해결해야합니까?
- 재설정 각 시간
- 수행을 자동 증가 열을 생성하고 테이블에 각 시간
- 를 제거하거나 # 1, # 2,하지만
- 이 자동 증가를 사용하지 마십시오 이상 간격으로 키 (자신의 순차 키를 쉽게 삽입 할 수 있음)
- 기타?
참고 : 처리를 위해 매 시간마다 키를 다시 사용하지 않아도됩니다. 나는 데이터의 처리를 분배하기 위해서만 그것을 사용한다.
5. MongoDB를 사용하십시오. – Ben
@ 벤 : 정교하게 신경 써야 할까? –
int unsigned는 24.5 년 (4294967295/175200000 p/yr)입니다. –