2010-01-21 4 views
2

SQL Server가 실제로 버퍼/메모리에 보관되는 데이터와 같은 쿼리 세부 정보를 처리하는 방법에 대한 정보를 찾고 있는데 업데이트가 변경된 경우에도 새로운 데이터를 얻는 방법은 무엇입니까? 쿼리와 관련된 테이블의 한 열에 만)SQL Server 쿼리 실행 흐름

누구든지 소스를 알고 있다면 알려주십시오.


우리는 SQL Server 2000을 사용하는 웹 응용 프로그램을 가지고 있으며 30 초마다 테이블 (대시 보드)의 70 % 가량이 빈번하게 읽습니다. 동시에 많은 글이 일어나고 있습니다.

위 시나리오의 최적화를위한 팁을 알려주십시오.

답변

1

아무도 최적화 문제를 해결하는 방법에 대한 답을 줄 수 없습니다. 이렇게하려면 데이터베이스 서버에 액세스해야합니다. 문제를 해결하려면 데이터베이스가 어떻게 작동하는지 대략 이해해야하며,이를 위해서는 약간의 독서가 필요합니다.

온라인 리소스는 괜찮지 만 다음 세 책은 값을 매길 수 없습니다. 처음 두 권의 책에는 SQL Server의 작동 방식에 대한 매우 자세한 정보가 있습니다. 마지막 질문은 쿼리를 작성하는 방법에 대한 지침이지만 엔진이 쿼리를 보는 방법에 대한 설명도 포함되어 있습니다.

  1. Kalen Daleney: Sql Server 2008 Internals
  2. Sql Server 2005: Practical Troubleshooting :
  3. Ben Gan et al: Inside SQL Server 2008: T-SQL Querying
0

실행 계획을 검사해야합니다.

SSMSCtrl-L을 누르거나 쿼리를 실행하기 전에 SET SHOWPLAN_TEXT ON을 실행하십시오.

이렇게하면 당신은 또한 통계를 참조 할 수 있습니다

등을 적용 알고리즘을 결합 인덱스가 사용 되는가에 대한 자세한 정보를 제공합니다 :

SET STATISTICS TIME ON 
SET STATISTICS IO ON 

에 당신에게 정보를 제공합니다 실제 테이블, 캐시 등에서 얼마나 많은 읽기가 수행되었는지, 그리고 각 쿼리가 수행 한 시간 (실제 및 CPU 시간)

1

내부 유형 질문에 대답하는 데 많은 게시물이 필요하므로 백서/블로그 및 일부 책을 읽기 시작하는 것이 좋습니다.

2000 년 Ken Henderson의 SQL Server 아키텍처에서는 최신 SQL 버전을 위해 내부적 인 세부 사항을 제공하므로 2005 년 실용적인 문제 해결 방법을 제공했으나 Kalen Delaney의 SQL 2008 Internals는 훌륭합니다. SQL Server 2008의 버퍼 관리에 대한

0

외부 소스에 관한 한 MSDN에는 SQL Server 2000 설치 최적화에 대한 포괄적 인 리소스, 특히 Patterns & Practices 성능 및 확장성에 대한 자료가 있습니다.

어디서부터 시작해야할지 알고 있다면 앞서 언급 한 것처럼 SQL 프로필과 쿼리 계획을 검토하면서 상향식 접근 방식을 사용하십시오. 그렇지 않으면 위에서 아래로 시작하여 쿼리를 다시 컴파일하는 데 관련된 비용, 효과적으로 인덱싱하는 방법 및 쿼리 최적화 프로그램에서 통계를 사용하는 방법에 대해 알아보십시오.