나는 값 비싼 쿼리 목록에서 (항상 어떤 식 으로든) 끊임없이 바쁜 데이터베이스에 저장 프로 시저를 가지고 있습니다. 쿼리는 매우 간단합니다. 테이블의 기본 키인 단일 매개 변수 (@ID, int)를 사용하고 해당 ID와 일치하는 레코드를 선택합니다. 기본 키는 클러스터 된 인덱스가있는 ID 필드이므로이를 더 이상 최적화하는 방법에 관해서는 부족합니다.Sql 서버 쿼리 성능
CREATE PROCEDURE [dbo].[P_Call_Get]
@ID int = null
AS
select ID,
AppID,
AgentID,
AgentLogin,
Ext,
VDN,
VDNName,
Skill,
SkillName,
CallFrom,
TelNoFrom,
ParentCallID,
CallStart,
ACWStart,
CallEnd,
Outcome,
StageID,
TxTo,
TxSuccess,
ServiceID,
DiallerID,
CRC,
TSCallID,
CallDirection,
[Manual],
CallBackAgent,
CallBackDateTime,
Notes
from P_Call
where (ID = @ID or @ID is null)
확실하지 실행 계획을 게시 할 수있는 최선의 방법을 다음과 같이 쿼리는 - 그것은 보여줍니다 모든 작업의 100 %
코드를 게시 할 수 있습니까? –
쿼리 및 실행 계획을 게시 할 수 있습니까? –
가장 비싸다고 말하면 얼마나 많은 읽기가 있었습니까? 얼마나 자주 호출됩니까? –