2012-10-20 4 views
3

SQL Server 데이터베이스를 사용하는 Windows 양식을 만들었습니다. 창문 양식에는 사람의 모든 은행 계좌 정보를 가져 오는 검색 그리드가 있습니다. 검색 그리드에는 개인이 은행과 관련된 계좌의 수를 보여주는 "계좌 번호"라는 특수 필드가 있습니다.SQL Server에서 검색 시간을 줄이는 방법

데이터를 가져온 테이블의 레코드가 100,000 개를 초과합니다. 검색 그리드의 테이블에서 데이터를 가져 오는 동안 응답 시간 또는 검색 시간을 줄이는 방법을 알고 싶었습니다.

페이지를 실행할 때 검색 그리드에 표시된 레코드를 가져 오는 데 많은 시간이 걸립니다. 또한 검색 조건을 제공하지 않는 한 데이터를 가져 오지 않습니다 (검색 할 날짜 및 종료 날짜)

데이터를 그리드에 표시 할 수 있도록 검색 시간을 줄일 수있는 가능한 방법은 무엇입니까?

+4

색인 추가? 실행 된 qyery를 보여줄 수 있습니까? 쿼리의 실행 계획을 제공 할 수 있습니까? – rene

+3

질문은 매우 광범위합니다. 그러므로 매우 광범위한 대답을 얻습니다. 가능한 ** 행과 열 **을 선택하고 올바른 색인이 있는지 확인하십시오. 이를 통해 필요한 데이터를 신속하게 가져 오는 데 아무런 문제가 없어야합니다. –

+2

우리가 원격으로 유용한 힌트를 제공하려면 (1) 테이블 구조와 (2) 사용중인 쿼리를 표시해야합니다. 이 두 가지는 그렇지 않습니다. 그렇지 않으면 유용한 대답이 없을 것입니다. –

답변

3

당신이 할 수있는 몇 가지가 있습니다

  1. 만 당신이 당신의 결과를 얻기 위해 필요한 최소한의 데이터를 가져 - 이것은 단지 필요한 열을 선택하고 행의 수를 제한하는 것을 의미한다.
  2. 위의 사항 외에도 UI에서 페이징을 사용하는 것이 고려되므로 반환되는 데이터의 양을 더 제한 할 수 있습니다. 사용자에게 100,000 개의 행을 표시 할 필요는 없습니다.
  3. 아직 테이블에 인덱스를 추가하지 않았다면 (10 만 개의 행이 있지만 어쨌든 느려지는 것은 아닙니다). 나는 그것을하는 방법에 대해 자세하게 들어갈 수 없다.
+0

잘 10 만 행을 보여주는 것이 아닙니다. 표에서 가져 와서 검색 그리드를 느리게 만드는 데이터는 사용자가 보유한 계정의 수를 표시하는 "계정 수"열입니다. 100,000 개의 레코드가 포함 된 테이블을 검색합니다. 응답 시간이 늘어납니다. – Yash

+0

@Yash - 모든 포인트는 응답 속도 향상에 도움이되는 유효한 방법입니다. – Oded

+0

감사합니다. 도와 줘서 고마워. 내가 제안한 포인트를 사용하려고 노력할 것입니다. – Yash

관련 문제