대형 데이터베이스 테이블의 행 계산 팁
매우 큰 데이터베이스 테이블을 처리할 때 행을 정확하게 계산하는 것이 어려울 수 있습니다. 많은 기사에서는 전통적인 SELECT COUNT(*) FROM TABLE_NAME
방법이 대규모 데이터 세트를 처리할 때 성능이 좋지 않다는 점을 지적합니다. 이 문서에서는 다음과 같은 특정 요구 사항을 고려하여 데이터베이스 공급업체에 독립적인 행 개수 솔루션을 살펴봅니다.
데이터베이스 공급업체에 구애받지 않는 솔루션
안타깝게도 현재 COUNT(*)
방법을 능가하고 정확한 행 수를 얻을 수 있는 데이터베이스 공급업체 독립적 솔루션은 없습니다. 표준 구문은 여전히 가장 신뢰할 수 있는 방법입니다.
SQL Server 대략적인 솔루션
SQL Server는 몇 가지 대략적인 솔루션을 제공하지만 이러한 방법은 질문에서 요구하는 정확한 계산을 충족할 수 없기 때문에 이 문서의 범위를 벗어납니다.
보충: SQL Server 예
문제를 설명하기 위해 14억 개의 행과 12개의 열이 있는 테이블을 테스트했습니다.
SELECT COUNT(*) FROM MyBigtable WITH (NOLOCK)
: 5분 46초가 걸렸고, 카운팅 결과는 1,401,659,700SELECT Total_Rows = SUM(st.row_count) FROM sys.dm_db_partition_stats st WHERE object_name(object_id) = 'MyBigtable' AND (index_id
후자는 테스트 중 동시 쓰기로 인해 약간 더 적은 수의 행을 반환합니다. 따라서 SELECT COUNT(*)
은 여전히 정확한 행 수를 얻는 데 선호되는 방법입니다.
위 내용은 여러 공급업체에 걸쳐 있는 대규모 데이터베이스 테이블의 행 수를 효율적으로 계산하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!