有没有一种方法可以查看一个数据库中的哪些 SQL 对象使用某个索引。但我不想看到每个对象的执行计划,因为我有很多存储过程和视图
附言。适用于 SQL 2005
如果更改where条件的值,select查询是否可以使用不同的索引?
以下两个查询使用不同的索引,唯一的区别是条件的值和typeenvoi ='EXPORT'或typeenvoi ='MAIL'
select numenvoi,adrdest,nomdest,etat,nbessais,numappel,description,typeperiode,datedebut,datefin,codeetat,codecontrat,typeenvoi,dateentree,dateemission,typedoc,numdiffusion,nature,commentaire,criselcomp,crisite,criservice,chrono,codelangueetat,piecejointe, sujetmail, textemail
from v_envoiautomate
where etat=0 and typeenvoi='EXPORT'
and nbessais<1
select numenvoi,adrdest,nomdest,etat,nbessais,numappel,description,typeperiode,datedebut,datefin,codeetat,codecontrat,typeenvoi,dateentree,dateemission,typedoc,numdiffusion,nature,commentaire,criselcomp,crisite,criservice,chrono,codelangueetat,piecejointe, sujetmail, textemail
from v_envoiautomate
where etat=0 and typeenvoi='MAIL'
and nbessais<1
Run Code Online (Sandbox Code Playgroud)
任何人都可以给我一个解释吗?
我需要在WHERE子句中调用存储过程来创建SELECT.它应该是那样的....
SELECT distinct top 10 ix,d.droit FROM v_droit d,v_info i WHERE d.nomdroit ='yy'AND i.id <> 2 AND(从(exec up_droits(ix,d.droit)中选择val)<> 3
但它不起作用......任何想法?
不要说用函数替换存储过程,因为无法使用函数中的现有代码.所以该功能不是一个有效的选项.我真的需要能够使用存储过程
我有一个这样的存储过程:
CREATE PROCEDURE up_action
(@id int
,@group varchar(30)=''
,@nom varchar(30)=''
,@compte varchar(30)=NULL
)
AS
BEGIN
DECLARE @chrono int
......
select @date=date from users where compte=@compte
INSERT INTO dialog
(numappel,auteur,commentaire,etape,etapews,operant)
VALUES
(@numappel,@nomprenom,@dialogue,14,14,@nomoperateur)
SET @chrono = SCOPE_IDENTITY()
select 'chrono'=@chrono
END
Run Code Online (Sandbox Code Playgroud)
我想从一个用C#编写的应用程序中调用这个存储过程,可以将参数分隔开(实际上是它们的值),然后最后接收一个记录集rs,我可以从中获取变量的值,如rs ( "计时").
我知道创建每个参数并告诉类型,名称,值等的可能性.但我想要一个类似于ASP的方法因为我有100个参数的程序...