Bonjour,

J'ai une procédure stockée que j'aimerais optimiser. La table COURS étant une très grande table qui grossit à vue d'oeil, le temps d'exécution de cette procédure est de plus en plus important.

Est-ce-que quelqu'un aurait des pistes à me conseiller?

Merci d'avance

David

Voici le code.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
CREATE PROCEDURE dbo.InsertCours 
	(
	@action_id numeric(18,0) = null,
	@dateheure bigint = null,
	@cours money = null,
	@volume bigint = null
	)
AS
DECLARE @existe numeric(18,0)
 
SET @existe= (SELECT COU_ID FROM COURS WHERE ACT_ID=@action_id AND COU_DATE=@dateheure AND COU_COURS=@cours AND COU_VOLUME=@volume)
 
if @existe IS NULL
BEGIN
 
	INSERT INTO COURS
	(ACT_ID
	,COU_DATE
	,COU_COURS
	,COU_VOLUME
	)
	VALUES
	(@action_id
	,@dateheure
	,@cours
	,@volume
	)
	SET @existe =  @@IDENTITY
END	
	RETURN @existe
GO