반응형
mysqldump에서 레코드 수를 제한하고 있습니까?
큰 데이터베이스에서 작은 레코드 샘플을 테스트 데이터베이스로로드하려고합니다.
mysqldump에게 어떻게 8 백만 중에서 n 개의 레코드 만 제공하라고 말합니까?
감사
skaffman이 말했듯이 --where 옵션을 사용하십시오 .
mysqldump --opt --where="1 limit 1000000" database
물론, 그것은 당신에게 모든 테이블에서 첫 번째 백만 행을 줄 것입니다.
n
특정 테이블에서 레코드 를 얻으려면 다음과 같이 할 수 있습니다.
mysqldump --opt --where="1 limit 1000000" database table > dump.sql
이것은 파일로 1000000
명명 table
된 테이블에서 첫 번째 행을 덤프 합니다 dump.sql
.
mysqldump는 실행할 SQL 쿼리를받을 수 있으며, 여기에서 덤프에 대한 데이터를 가져옵니다. 그런 다음 쿼리에서 "limit X"절을 사용하여 행 수를 제한 할 수 있습니다.
기본 순서는 ASC이므로이 상황에서는 거의 필요하지 않으므로 DESC를 즉시 사용할 수 있도록 적절한 데이터베이스 디자인이 필요합니다. 모든 테이블에 동일한 이름 (자연 또는 대리)을 가진 하나의 기본 키 열이 있으면 다음을 사용하여 최신 레코드 n 개를 쉽게 덤프 할 수 있습니다.
mysqldump --opt --where="1 ORDER BY id DESC limit 1000000" --all-databases > dump.sql
이것이 연관 테이블에서도 항상 PK ID 의 이름을 지정 하고 복합 PK를 피해야 하는 완벽한 이유입니다 (대신 키를 대신 사용).
참고 URL : https://stackoverflow.com/questions/135835/limiting-the-number-of-records-from-mysqldump
반응형
'development' 카테고리의 다른 글
지정된 인덱스에서 ArrayList에 객체 추가 (0) | 2020.06.29 |
---|---|
키 체인의 배포 인증서에 개인 키가 없습니다. (0) | 2020.06.29 |
SQL Server : 두 테이블에 동시에 삽입 할 수 있습니까? (0) | 2020.06.29 |
탭을 사용하여 텍스트 영역에 들여 쓰기 (0) | 2020.06.29 |
\ w와 \ b 정규 표현식 메타 문자의 차이점 (0) | 2020.06.29 |