정말 이상한 일이 있습니다.SQL 서버의 테이블에서 모든 데이터를 선택할 수 없습니다.
400,000 개의 레코드가있는 테이블 (T).
이 선택시 :select top 150000 * from T
내가 3 secondes
에 대답을 얻었다 그러나 나는 그들 모두를 가지고가는 경우에, 나는 결과를하지 않고 5 분 후에 요청을 중지합니다.이 문제에 대해 알고 싶습니다.
들으,
구덩이
정말 이상한 일이 있습니다.SQL 서버의 테이블에서 모든 데이터를 선택할 수 없습니다.
400,000 개의 레코드가있는 테이블 (T).
이 선택시 :select top 150000 * from T
내가 3 secondes
에 대답을 얻었다 그러나 나는 그들 모두를 가지고가는 경우에, 나는 결과를하지 않고 5 분 후에 요청을 중지합니다.이 문제에 대해 알고 싶습니다.
들으,
구덩이
원인을 찾기 위해 주요 영역은 다음과 같습니다
나는 인덱스가 필요하지 않으며 테이블의 각 페이지를 읽어야한다는 Arman의 의견에 동의합니다.
등록되지 않은 사용자이므로 upvote 할 수는 없지만 숫자 3을 강하게 의심 할 것입니다. –
(NoLock)으로 추가하는 것이 좋습니다 !!! –
요청이 읽으려는 테이블을 잠그려고하면 블록이 차단됩니까? 또한 뭔가 stange : 2 ndx 내가 테이블에 만들지 않았다 및 추정 계획 결과 중 하나를 소요됩니다. 그래서 나는 그 2 ND와 재시험을 해독 할 것이다. –
테이블에 인덱스가 있습니까? –
데이터 선택 방법은 무엇입니까? SMS를 사용하십니까? – abatishchev
왜 클라이언트에 400.000 개의 레코드를 가져 오려고합니까? 쿼리 계획을 살펴볼 수 있습니까? – Jan