엄청난 양의 열이있는 SQL Server 테이블을 분석하는 가장 좋은 방법은 무엇입니까?

마이크 S

900 개 이상의 열과 수억 개의 행이있는 SQL Server 테이블이 있습니다. 이러한 행의 작은 하위 집합 (일반적으로 한 번에 50 만 행 미만)을 가져와 모든 열을 살펴보고 해당 열에서 해당 값의 발생 비율과 함께 모든 값의 개수를 확인하는 저장 프로 시저를 구축했습니다. 먼저 데이터 범위를 좁히고 임시 테이블에 삽입하여이를 수행합니다. 그런 다음 임시 테이블에서 분석을 실행합니다.

최근에 우리는 한 번에 훨씬 더 큰 데이터 그룹 (50 ~ 1 억 행의 데이터)에 대해이 분석을 수행해야했습니다. 불행히도 이것을 실행하려고하면 영원히 실행되는 것 같습니다. 그렇게 많은 데이터를 임시 테이블에 삽입하는 것이 문제의 일부라고 생각하지만 모든 열의 모든 값을 그룹화하는 데 시간이 오래 걸립니다.

이 작업을 수행하는 더 쉽고 효율적인 방법이 있습니까? SQL Server 2012 사용.

드미트리 쿨타 세프

메모리가 부족하여 스왑을 사용하기 시작하면 문제가 발생할 수 있습니다. HDD 사용량을 모니터링하고 그 이유인지 확인할 수 있습니다 (ctrl + shift + esc 사용). 그렇다면 루프를 수행 할 수 있습니다. 같은 것

DECLARE @max_id INT = (SELECT MAX(ID) FROM your_table),
    @checpoint INT = 500000,
    @current_id INT = 0,
    @step INT = 0;
WHILE (@current_id < @max_id)
BEGIN
   INSERT INTO #tmp   
   SELECT *
   FROM your_table
   WHERE id > @current_id and id < @current_id + @step * @checkpoint;
-- your analysis here
   SET @step += 1;
   SET @current_id = @current_id + @step * @checkpoint
END

데이터베이스에 액세스하지 않고 작성했기 때문에 구문이나 논리적 오류가있을 수 있지만 주요 아이디어는 매우 분명하다고 생각합니다

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

git으로 저장소에서 엄청난 양의 파일을 제거하는 방법은 무엇입니까?

분류에서Dev

엄청난 수의 파일을 작성하는 가장 좋은 방법

분류에서Dev

엄청난 양의 PNG 이미지를 압축하는 방법은 무엇입니까?

분류에서Dev

SQL Server :이 XML을 테이블 열로 구문 분석하는 방법은 무엇입니까?

분류에서Dev

Access에서 SQL로 엄청난 수의 데이터 행을 마이그레이션하는 가장 좋은 방법

분류에서Dev

SQL Server : 열 값을 구문 분석하고 개별 테이블의 여러 열에 삽입하는 방법은 무엇입니까?

분류에서Dev

다른 테이블과 동적 관계가있는 테이블의 열을 인덱싱하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

SQL 다중 테이블을 만드는 가장 좋은 방법은 무엇입니까?

분류에서Dev

테이블을 조인하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

Android에서 테이블의 모든 행을 삭제하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

한 행의 테이블에서 2 행을 선택하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

엄청난 성능 저하없이 큰 사전을 사용 / 가져 오는 방법은 무엇입니까?

분류에서Dev

SQL Server에서 하이픈으로 구분 된 데이터를 여러 열로 분리하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

많은 양의 데이터를 어레이에 저장하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

여러 테이블 열이있는 2 개의 테이블을 추가하는 방법은 무엇입니까?

분류에서Dev

Asp.Net에서 엄청난 수의 이미지를 인쇄하는 방법은 무엇입니까?

분류에서Dev

SQL Server에서 감사 추적을 구현하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

SQL Server 트랜잭션을 매개 변수로 전달하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

mysql Server 5.6을 사용하여 테이블의 ID 열을 추가하는 방법은 무엇입니까?

분류에서Dev

PHP에서 16 길이의 난수를 생성하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

SQL Server의 테이블 열에서 부모 JSON에서 읽은 JSON 값을 추가하는 방법은 무엇입니까?

분류에서Dev

Django에서 양식의 임시 데이터를 저장하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

MYSQL 테이블에 여러 항목 / 배열을 저장하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

SQL의 문자열에 문자가 있는지 확인하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

Firefox Addon : 많은 양의 HTML을 삽입하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

다른 테이블의 데이터에서 3 명의 사용자를 선택하는 SQL에서 가장 좋은 방법은 무엇입니까?

분류에서Dev

두 개의 SQL 테이블을 함께 병합하는 가장 좋은 방법

분류에서Dev

SQL Server 테이블에 800 개 이상의 컨트롤 속성을 저장하는 것이 좋은 방법입니까? 온라인 공유 제어 속성

분류에서Dev

SQL Server에서 테이블을 만들 때 INTEGER의 길이를 제한하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    git으로 저장소에서 엄청난 양의 파일을 제거하는 방법은 무엇입니까?

  2. 2

    엄청난 수의 파일을 작성하는 가장 좋은 방법

  3. 3

    엄청난 양의 PNG 이미지를 압축하는 방법은 무엇입니까?

  4. 4

    SQL Server :이 XML을 테이블 열로 구문 분석하는 방법은 무엇입니까?

  5. 5

    Access에서 SQL로 엄청난 수의 데이터 행을 마이그레이션하는 가장 좋은 방법

  6. 6

    SQL Server : 열 값을 구문 분석하고 개별 테이블의 여러 열에 삽입하는 방법은 무엇입니까?

  7. 7

    다른 테이블과 동적 관계가있는 테이블의 열을 인덱싱하는 가장 좋은 방법은 무엇입니까?

  8. 8

    SQL 다중 테이블을 만드는 가장 좋은 방법은 무엇입니까?

  9. 9

    테이블을 조인하는 가장 좋은 방법은 무엇입니까?

  10. 10

    Android에서 테이블의 모든 행을 삭제하는 가장 좋은 방법은 무엇입니까?

  11. 11

    한 행의 테이블에서 2 행을 선택하는 가장 좋은 방법은 무엇입니까?

  12. 12

    엄청난 성능 저하없이 큰 사전을 사용 / 가져 오는 방법은 무엇입니까?

  13. 13

    SQL Server에서 하이픈으로 구분 된 데이터를 여러 열로 분리하는 가장 좋은 방법은 무엇입니까?

  14. 14

    많은 양의 데이터를 어레이에 저장하는 가장 좋은 방법은 무엇입니까?

  15. 15

    여러 테이블 열이있는 2 개의 테이블을 추가하는 방법은 무엇입니까?

  16. 16

    Asp.Net에서 엄청난 수의 이미지를 인쇄하는 방법은 무엇입니까?

  17. 17

    SQL Server에서 감사 추적을 구현하는 가장 좋은 방법은 무엇입니까?

  18. 18

    SQL Server 트랜잭션을 매개 변수로 전달하는 가장 좋은 방법은 무엇입니까?

  19. 19

    mysql Server 5.6을 사용하여 테이블의 ID 열을 추가하는 방법은 무엇입니까?

  20. 20

    PHP에서 16 길이의 난수를 생성하는 가장 좋은 방법은 무엇입니까?

  21. 21

    SQL Server의 테이블 열에서 부모 JSON에서 읽은 JSON 값을 추가하는 방법은 무엇입니까?

  22. 22

    Django에서 양식의 임시 데이터를 저장하는 가장 좋은 방법은 무엇입니까?

  23. 23

    MYSQL 테이블에 여러 항목 / 배열을 저장하는 가장 좋은 방법은 무엇입니까?

  24. 24

    SQL의 문자열에 문자가 있는지 확인하는 가장 좋은 방법은 무엇입니까?

  25. 25

    Firefox Addon : 많은 양의 HTML을 삽입하는 가장 좋은 방법은 무엇입니까?

  26. 26

    다른 테이블의 데이터에서 3 명의 사용자를 선택하는 SQL에서 가장 좋은 방법은 무엇입니까?

  27. 27

    두 개의 SQL 테이블을 함께 병합하는 가장 좋은 방법

  28. 28

    SQL Server 테이블에 800 개 이상의 컨트롤 속성을 저장하는 것이 좋은 방법입니까? 온라인 공유 제어 속성

  29. 29

    SQL Server에서 테이블을 만들 때 INTEGER의 길이를 제한하는 방법은 무엇입니까?

뜨겁다태그

보관