SQL Server : where 쿼리를 사용하여 큰 테이블의 행 수를 빠르게 검색

Yubaolee

죄송합니다. 지금 질문을 확인했습니다 : 30,000,000 개 이상의 행을 포함하는 큰 테이블이 있습니다.이 테이블에 포함 된 행 수를 계산하는 빠르고 안정적인 방법이 필요했습니다.

좋은 접근 방식은 다음과 같습니다. http://blogs.msdn.com/b/martijnh/archive/2010/07/15/sql-server-how-to-quickly-retrieve-accurate-row-count-for-table.aspx

그러나 그것은 전체 테이블입니다. 내 SQL 문은 다음과 같습니다.

select COUNT(*) 
from HistoryData 
where Port = 6021 
  and RecvTime > '2015-04-13' 
  and RecvTime < '2015-04-14 15:00:00'

이 쿼리의 결과는 18615883입니다.

  • CPU 시간은 3094ms입니다.
  • 지속 시간은 30429ms입니다.

내 테이블에는 ( RecvTime, Port) 에 대한 색인이 있습니다 . 색인 스크립트는 다음과 같습니다.

/****** Script Date: 04/14/2015 15:54:04 ******/
ALTER TABLE [dbo].[HistoryData] 
ADD  CONSTRAINT [PK_HistoryData] PRIMARY KEY CLUSTERED 
(
    [Port] ASC,
    [RecvTime] ASC
)

5000ms 이하로 소비 시간을 줄일 수 있습니까?

SQL 실행 계획 : http://i.stack.imgur.com/hsYVb.jpg

키릴 슬 라틴

색인에 대해 이러한 구조를 시도하십시오.

CREATE NONCLUSTERED INDEX [IX_HistoryData] ON [dbo].[HistoryData]
(
    [Port] ASC,
    [RecvTime] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

실행 계획은 이 계획참조 IX_HistoryData되지 않은 마음 처럼 보여야합니다.PK_HistoryData

추신. 귀하의 테이블은 매우 간단하고 테스트 용 데이터를 쉽게 생성 할 수 있지만 로컬 SQL Server (SSD에서 실행) 만 있으며 결과는 어쨌든 관련이 없습니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

구체화 된 뷰를 사용하여 큰 테이블에서 더 빠르게 데이터 검색

분류에서Dev

SQL Server 2008을 사용하여 4 개의 테이블에서 쿼리 데이터를 검색하십니까?

분류에서Dev

큰 테이블에 대한 ETLUtils를 사용하여 R에서 SQL Server 쿼리

분류에서Dev

SQL Server 데이터베이스에서 데이터를 검색하는 동안 WCF 서비스에서 where 절을 사용하여 쿼리하는 방법

분류에서Dev

WHERE 절에서 IN을 사용하여 쿼리를 더 빠르게 실행하는 방법

분류에서Dev

xpath를 사용하여 json 객체에서 데이터를 빠르게 검색

분류에서Dev

SQL Server-PIVOT 쿼리를 사용하여 두 테이블의 필드 비교

분류에서Dev

SQL에서 조인 쿼리를 사용하여 세 번째 테이블이있는 두 개의 다른 테이블에서 두 개의 열 수 검색

분류에서Dev

SQL Server를 사용하여 한 행에서 특정 ID의 여러 레코드를 검색하는 방법

분류에서Dev

두 테이블을 사용하여 SQL 쿼리를 수행하는 방법

분류에서Dev

SQL Server 2012-다른 두 테이블과 교차 검사하여 테이블에서 일치하는 레코드를 검색 할 때 쿼리

분류에서Dev

SQL Server 20008에서 데이터를 검색하여 테이블 이름을 가져 오는 쿼리

분류에서Dev

여러 조건이있는 두 테이블에서 데이터를 검색하는 SQL Server 쿼리

분류에서Dev

where 절의 모든 하위 쿼리를 사용하여 SQL Server에서 계산

분류에서Dev

3 개의 테이블에서 데이터를 검색하는 SQL 쿼리

분류에서Dev

MySQL은 - CAN 나는 테이블에 레이블을 추가하고 SQL 쿼리를 사용하여 검색

분류에서Dev

C 용 DB 라이브러리를 사용하여 SQL Server 열에서 큰 값을 검색하는 방법은 무엇입니까?

분류에서Dev

Oracle의 느린 쿼리 (SQL Server에서 빠르게 실행) (상관 된 하위 쿼리)

분류에서Dev

SQL의 3 개 테이블에서 정보를 검색하기위한 쿼리?

분류에서Dev

SQL Server 쿼리를 사용하여 격리 된 행 선택

분류에서Dev

MS SQL Server에 여러 행을 삽입하고 모든 새 테이블 ID를 검색합니다.

분류에서Dev

PHP를 사용하여 SQL 테이블의 행 1 개를 어떻게 업데이트 할 수 있습니까?

분류에서Dev

Where 절에서 하나의 입력 매개 변수를 기반으로 CASE를 사용하여 SQL Server의 레코드 검색

분류에서Dev

datetimepicker로 SQL 검색 쿼리를 수행하는 방법

분류에서Dev

열의 값이 다른 테이블의 값 수와 같은 레코드를 검색하는 Oracle SQL 쿼리

분류에서Dev

VB.NET의 함수를 사용하여 SQL 쿼리 실행

분류에서Dev

Rails 4 테이블에 대한 SQL 쿼리는 .where를 사용하여 한 열을 읽지 만 다른 열은 올바르게 읽지 않습니다.

분류에서Dev

SQL Server에서 외래 키와 연결된 테이블 및 다른 테이블을 통해 검색을 수행하고 데이터를 정렬하는 방법

분류에서Dev

db2 SQL 쿼리의 이전 테이블에서 레코드를 찾을 수없는 경우 다음 테이블에서 열 검색 수행

Related 관련 기사

  1. 1

    구체화 된 뷰를 사용하여 큰 테이블에서 더 빠르게 데이터 검색

  2. 2

    SQL Server 2008을 사용하여 4 개의 테이블에서 쿼리 데이터를 검색하십니까?

  3. 3

    큰 테이블에 대한 ETLUtils를 사용하여 R에서 SQL Server 쿼리

  4. 4

    SQL Server 데이터베이스에서 데이터를 검색하는 동안 WCF 서비스에서 where 절을 사용하여 쿼리하는 방법

  5. 5

    WHERE 절에서 IN을 사용하여 쿼리를 더 빠르게 실행하는 방법

  6. 6

    xpath를 사용하여 json 객체에서 데이터를 빠르게 검색

  7. 7

    SQL Server-PIVOT 쿼리를 사용하여 두 테이블의 필드 비교

  8. 8

    SQL에서 조인 쿼리를 사용하여 세 번째 테이블이있는 두 개의 다른 테이블에서 두 개의 열 수 검색

  9. 9

    SQL Server를 사용하여 한 행에서 특정 ID의 여러 레코드를 검색하는 방법

  10. 10

    두 테이블을 사용하여 SQL 쿼리를 수행하는 방법

  11. 11

    SQL Server 2012-다른 두 테이블과 교차 검사하여 테이블에서 일치하는 레코드를 검색 할 때 쿼리

  12. 12

    SQL Server 20008에서 데이터를 검색하여 테이블 이름을 가져 오는 쿼리

  13. 13

    여러 조건이있는 두 테이블에서 데이터를 검색하는 SQL Server 쿼리

  14. 14

    where 절의 모든 하위 쿼리를 사용하여 SQL Server에서 계산

  15. 15

    3 개의 테이블에서 데이터를 검색하는 SQL 쿼리

  16. 16

    MySQL은 - CAN 나는 테이블에 레이블을 추가하고 SQL 쿼리를 사용하여 검색

  17. 17

    C 용 DB 라이브러리를 사용하여 SQL Server 열에서 큰 값을 검색하는 방법은 무엇입니까?

  18. 18

    Oracle의 느린 쿼리 (SQL Server에서 빠르게 실행) (상관 된 하위 쿼리)

  19. 19

    SQL의 3 개 테이블에서 정보를 검색하기위한 쿼리?

  20. 20

    SQL Server 쿼리를 사용하여 격리 된 행 선택

  21. 21

    MS SQL Server에 여러 행을 삽입하고 모든 새 테이블 ID를 검색합니다.

  22. 22

    PHP를 사용하여 SQL 테이블의 행 1 개를 어떻게 업데이트 할 수 있습니까?

  23. 23

    Where 절에서 하나의 입력 매개 변수를 기반으로 CASE를 사용하여 SQL Server의 레코드 검색

  24. 24

    datetimepicker로 SQL 검색 쿼리를 수행하는 방법

  25. 25

    열의 값이 다른 테이블의 값 수와 같은 레코드를 검색하는 Oracle SQL 쿼리

  26. 26

    VB.NET의 함수를 사용하여 SQL 쿼리 실행

  27. 27

    Rails 4 테이블에 대한 SQL 쿼리는 .where를 사용하여 한 열을 읽지 만 다른 열은 올바르게 읽지 않습니다.

  28. 28

    SQL Server에서 외래 키와 연결된 테이블 및 다른 테이블을 통해 검색을 수행하고 데이터를 정렬하는 방법

  29. 29

    db2 SQL 쿼리의 이전 테이블에서 레코드를 찾을 수없는 경우 다음 테이블에서 열 검색 수행

뜨겁다태그

보관