나는 다음과 같은 스크립트를 사용했지만 사용자 기반이 거의 백만 명으로 늘어 났으므로 스크립트가 매우 느립니다. 나는 코딩을 변경하거나, 인덱스를 생성하거나, 두 가지 모두를 사용하여이를 향상시키고이를보다 빨리 수행 할 수있는 전문가의 도움이 필요합니다. 코드는 다음과 같습니다.인덱싱을 사용하여 스크립트 속도 향상
IF @MODE = 'CREATEREQUEST'
BEGIN
IF NOT EXISTS (SELECT * FROM FriendRequest WHERE FromMemberID = @FromMemberID AND ToMemberID = @ToMemberID)
AND NOT EXISTS (SELECT * FROM MemberConnection WHERE MemberID = @FromMemberID AND ConnMemberID = @ToMemberID)
AND NOT EXISTS (SELECT * FROM MemberConnection WHERE MemberID = @ToMemberID AND ConnMemberID = @FromMemberID)
BEGIN
INSERT INTO FriendRequest (
FromMemberID,
ToMemberID,
RequestMsg,
OnHold)
VALUES (
@FromMemberID,
@ToMemberID,
@RequestMsg,
@OnHold)
END
BEGIN
UPDATE Member SET FriendRequestCount = (FriendRequestCount + 1) WHERE MemberID = @ToMemberID
END
END
제공 할 수있는 모든 도움을 주시면 대단히 감사하겠습니다.
[게시물에 서명 또는 태그 라인을 사용하지 마십시오.] (http://stackoverflow.com/faq#signatures). – meagar
천천히 실행중인 문을 식별하기 위해이 코드를 프로파일 링 했습니까? 실행 계획은 무엇입니까? – Pondlife
** 테이블 정의, 실행 계획 및 모든 현재 인덱스 **를 포함하지 않으면 어떤 개선이 이루어질 수 있는지 알 수 없습니다. – JNK