bonjour a tous :

j'ai une requête qui me pose un problème je cherche a l'optimiser soit en changeant le code TSQL ou en créant d'index manquant

la requête a était écrit par l'éditeur du logiciel

veuillez trouvez ci joint le syntaxe du requête
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
select FMENV.ENVIDX as IDX, 3 as Entity, FMBATCH.BATLOGNAME as
FM_Batch, FMENV.ENVIDX as FM_Document, FMENV.ENVLOGNAME as Name, 
FMENTPROP.EPRCUST19 as FM_ID_Client, FMENTPROP.EPRCUST09 as FM_Checking, FMCATEGORY.CATDESC 
as FM_Category, FMENV.ENVDATECRE as DateCre, FMENV.ENVPRIOR as Priority, FMENV.ENVOWNER 
as Owner from FMENV,FMBATCH,FMENTPROP,FMCATEGORY where 
( ENVSTATE in ('FI.VER1','FI.VER2_VAL1','FI.SWI1_VAL1','FI.EXP_VAL1')) 
and FMBATCH.INBOX in ('101','152','154','155','180','AX1','AX2','BUSINESSGRP','DJN','EN1','EN2','LYN','MLK','NAN','PXM','TLS','<DEFAULT>') and FMENTPROP.EPRENTTYPE = 3 and EPRENTIDX = FMENV.ENVIDX 
and (FMCATEGORY.CATCOD = FMENTPROP.EPRCUST10)
and (FMBATCH.BATIDX = FMENV.BATIDX) 
and FMENTPROP.EPRIDX = 
(select max(EPRIDX) from FMENTPROP where FMENTPROP.EPRENTTYPE = 3 and 
EPRENTIDX = FMENV.ENVIDX) and (ENVOWNER = 0) 
order by FMENV.ENVPRIOR DESC, FMENV.ENVDATECRE ASC
ci joint le plan d'exécution du requête https://www.brentozar.com/pastetheplan/?id=ryi8iLi7u

aussi le syntaxe des diffèrent indexes crée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
USE [fmfi-prd]
GO
 
/****** Object:  Index [IDX_TYPE_IDX_ENTPROP]    Script Date: 14/03/2021 11:13:07 ******/
CREATE NONCLUSTERED INDEX [IDX_TYPE_IDX_ENTPROP] ON [dbo].[FMENTPROP]
(
	[EPRENTTYPE] ASC,
	[EPRENTIDX] ASC,
	[EPRDATE] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
USE [fmfi-prd]
GO
 
SET ANSI_PADDING ON
GO
 
/****** Object:  Index [dta_index_FMENV_ENVOWNER_ENVSTATE ]    Script Date: 14/03/2021 11:13:51 ******/
CREATE NONCLUSTERED INDEX [dta_index_FMENV_ENVOWNER_ENVSTATE ] ON [dbo].[FMENV]
(
	[ENVOWNER] ASC,
	[ENVSTATE] ASC
)
INCLUDE([ENVIDX],[BATIDX],[ENVLOGNAME],[ENVDATECRE],[ENVPRIOR]) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
merci pour vos aides