"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > MySQL에서 대용량 데이터 세트를 청크로 효율적으로 검색하는 방법은 무엇입니까?

MySQL에서 대용량 데이터 세트를 청크로 효율적으로 검색하는 방법은 무엇입니까?

2024-11-08에 게시됨
검색:314

How to Efficiently Retrieve Large Datasets from MySQL in Chunks?

향상된 성능을 위해 MySQL에서 대용량 데이터를 청크 단위로 검색

수백만 개의 행이 포함된 대규모 MySQL 선택을 처리할 때 데이터 검색 중에 메모리 제약 문제가 발생할 수 있습니다. 이 문서에서는 LIMIT 기능을 활용하여 관리 가능한 청크의 데이터를 검색함으로써 이 문제에 대한 솔루션을 살펴봅니다.

대규모 데이터 세트를 반복적으로 검색하려면 LIMIT 기능을 사용할 수 있습니다. 시작 행과 검색할 최대 행 수를 지정하면 선택 프로세스를 더 작은 하위 집합으로 나눌 수 있습니다. 예를 들어 다음 쿼리를 실행하면:

SELECT * FROM MyTable ORDER BY whatever LIMIT 0,1000

는 처음 1,000개의 행을 가져옵니다. 1,000개 행의 후속 세트를 검색하려면 다음과 같이 조정된 LIMIT 값을 사용하여 유사한 쿼리를 실행할 수 있습니다. SELECT * FROM MyTable ORDER BY 뭐든 LIMIT 2000,1000 -- 행 2,001 - 3,000

SELECT * FROM MyTable ORDER BY whatever LIMIT 1000,1000 -- rows 1,001 - 2,000
SELECT * FROM MyTable ORDER BY whatever LIMIT 2000,1000 -- rows 2,001 - 3,000

CREATE TEMPORARY TABLE MyChunkedResult AS ( 선택하다 * 마이테이블에서 무엇이든 주문하세요 );

CREATE TEMPORARY TABLE MyChunkedResult AS (
  SELECT *
  FROM MyTable
  ORDER BY whatever
);

SELECT * FROM MyChunkedResult LIMIT 0, 1000; SELECT * FROM MyChunkedResult LIMIT 1000,1000; SELECT * FROM MyChunkedResult LIMIT 2000,1000; .. 등등.

SELECT * FROM MyChunkedResult LIMIT 0, 1000;
SELECT * FROM MyChunkedResult LIMIT 1000,1000;
SELECT * FROM MyChunkedResult LIMIT 2000,1000;
.. and so on.

데이터 검색이 완료되면 리소스 관리를 위해 임시 테이블을 삭제하는 것이 좋습니다.

DROP TEMPORARY TABLE MyChunkedResult;

DROP TEMPORARY TABLE MyChunkedResult;
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3