У меня есть хранимая процедура в загруженной базе данных, которая постоянно выходит на первое место в списке дорогих запросов (каким-то образом). Запрос очень прост, он принимает один параметр (@ID, int), который является первичным ключом таблицы, и выбирает запись, соответствующую этому идентификатору. Первичный ключ - это поле идентификаторов с кластеризованным индексом, поэтому я не знаю, как это оптимизировать дальше?
Запрос выглядит следующим образом
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% операции выполняется при сканировании кластерного индекса