Amigos Tengo este Select-Sql en mi BD SQLSERVER2000SP3
SELECT D.ANHO, D.MES, D.FECHA, D.COD_ITE, IT.DET_ITE, IT.MEDIDA, D.SAL_ITE
FROM D_MOVI_ATG D
INNER JOIN M_MOVI_ATG M ON (M.ANHO=D.ANHO AND M.CDG_ZON=D.CDG_ZON AND
M.MES=D.MES AND M.DOC_REF=D.DOC_REF)
INNER JOIN M_ITEM_ATG IT ON (IT.COD_ITE=D.COD_ITE)
WHERE (LEFT(D.DOC_REF,2)='FV' OR LEFT(D.DOC_REF,2)='BV' OR
LEFT(D.DOC_REF,2)='SV' OR LEFT(D.DOC_REF,2)='TD' OR LEFT(D.DOC_REF,2)='SA'
OR (LEFT(D.DOC_REF,2)='SO' AND M.CLI_PRO='20131529008' AND (M.IDE>'08' AND
M.IDE<='18'))) AND
((D.CDG_ZON='02' AND D.AREA<='12') OR (D.CDG_ZON<>'02')) AND D.ANU<>'*' AND
D.FASN<>'N'
La Tablas tienen estos Indices:
Tabla: D_MOVI_ATG
Clustered a--> ANHO, CDG_ZON, MES, DOC_REF
Nonclusted a--> Cod_ite, Doc_Ref, Anu, Fasn, Area
Tabla: M_MOVI_ATG
Clustered a--> ANHO, CDG_ZON, MES, DOC_REF
NonClusted a--> Cli_Pro, Ide, Anu
Tabla: M_ITEM_ATG
Clustered a--> COD_ITE
Pero haciendo pruebas con el Index Tunning del Sqlserver para ver que es lo
que me recomienda y me dice lo siguiente:
CREATE NONCLUSTERED INDEX [D_MOVI_ATG4] ON [dbo].[D_MOVI_ATG] ([ANHO] ASC,
[CDG_ZON] ASC, [MES] ASC, [DOC_REF] ASC, [AREA] ASC, [COD_ITE] ASC, [FASN]
ASC, [ANU] ASC, [FECHA] ASC, [SAL_ITE] ASC )
CREATE NONCLUSTERED INDEX [M_MOVI_ATG10] ON [dbo].[M_MOVI_ATG] ([ANHO] ASC,
[CDG_ZON] ASC, [MES] ASC, [DOC_REF] ASC, [CLI_PRO] ASC, [IDE] ASC )
No entiendo porque me recomienda crear en estas dos tablas estos
indices...????? Si la Tabla ya tiene indices por esos campos indivuales
Gracias por toda la informacion que me puedan brindar.
Developers.
Leer las respuestas