2016-09-23 8 views
-4

두 테이블을 가지고 있고 두 테이블 모두에서 레코드가 1 백만 개 있습니다. 그리고 매일 밤 레코드를 삽입하기 위해 cron 작업을 사용하고 있습니다. 먼저 테이블을 잘라내어 레코드를 삽입하고 두 번째 테이블에서 기본 키에 따라 레코드를 업데이트하고 삽입합니다. 내 데이터베이스로 MySQL을 사용하고 있습니다. 내 문제는 매일이 작업을해야하지만 모든 데이터를 삽입 할 수 없습니다. 그래서이 문제에 대한 가능한 해결책이 될 수 있습니다.mysql에서 1 백만 레코드 삽입하기

+0

일부 세부 사항이있는 솔루션을 향해 인치를 삽입 할 수 있습니다. 그런 것은 위에 보이지 않는다. – Drew

+4

"하지만 모든 데이터를 삽입 할 수 없습니다"이유는 무엇입니까? – ytbryan

답변

0

중요한 모든 종류의 설정하는 것입니다 행동과 검사 MySQL은 데이터를 게시 할 때 등 자동 커밋, 색인, 같은 수행하고자

https://dev.mysql.com/doc/refman/5.7/en/optimizing-innodb-bulk-data-loading.html

이 작업을 수행하지 않는 경우, MySQL은 모든 레코드를 추가 한 후 많은 작업을 수행하고, 그 합계 때문에 프로세스가 진행 중일 때 처리 속도가 느려지고 결국 가져 오기가 어려워지고 하루 안에 완료되지 않을 수 있습니다.

-2

MySql을 사용해야하는 경우 : 첫 번째 테이블의 경우 인덱스를 사용하지 않도록 설정하고 인덱스를 사용하도록 설정하십시오. 이것은 더 빨리 작동합니다.

또는 MongoDb는 더 빨라지고 Redis는 매우 빠릅니다.

+0

Rails 사용자가 MySQL에서 데이터베이스를 전환하려고한다면 처음에는 PostgreSQL이라고 생각해야합니다. 그러나 이것은 약간 조기의 충고처럼 보입니다. –

+0

나의 주요 충고는 인덱스를 비활성화하는 것이 었습니다. 그것은 좋은 것이 었습니다. 그리고 저를 투표하는 것은 차갑지 않았습니다. PostgreSQL은 MySql보다 훨씬 빠릅니다. Redis가 있습니다. 귀하의 요구에 부합하지 않으면 큰 해결책이 될 수 있습니다. 특히 임시 데이터 (이 경우처럼). –

+0

나는 왜 당신이 다운 - 투표를했는지 또는 누가 다운 - 투표했는지 모르겠습니다. 나는 그것이 OP가 가지고있는 문제가 무엇인지는 분명하지 않다라고 생각한다. 아마도 그것은 성능적인 것이지만, 지금은 정말 품질이 낮은 질문이다 (나는 * down-voted) –

관련 문제