Bonjour

Je cherche à optimiser les accès à la table autoref suivante
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
 
CREATE TABLE [dbo].[T_DEVPART_DPT](
	[DPT_ID] [int] IDENTITY(1,1) NOT NULL,
	[DEV_ID] [int] NOT NULL,
	[DPT_PID] [int] NULL,
	[DPT_ORD] [int] NOT NULL,
	[DPS_ID] [dbo].[D_SOUS_TYP_ELEMENT] NOT NULL,
	[DPT_PRN] [bit] NULL CONSTRAINT [DF_T_DEVPART_DPT_DPT_PRN]  DEFAULT ((1)),
	[DPT_FAMILLE] [dbo].[D_FAMILLE_ARTICLE] NULL,
	[DPT_SFAMILLE] [dbo].[D_FAMILLE_ARTICLE] NULL,
	[DPT_REF] [dbo].[D_REF_ARTICLE] NULL,
	[DPT_LIBELLE] [dbo].[D_LIBELLE_ARTICLE] NULL,
	[DPT_QTE] [dbo].[D_QTE_ARTICLE] NOT NULL,
	[UPU_CODE] [dbo].[D_UNIT_PU] NOT NULL,
	[DPT_PUA1] [dbo].[D_MT_MONETAIRE] NULL,
	[DPT_PUA2] [dbo].[D_MT_MONETAIRE] NULL,
	[DPT_PUVST] [dbo].[D_MT_MONETAIRE] NULL,
	[DPT_PUVHF] [dbo].[D_MT_MONETAIRE] NULL,
	[DPT_PUV1] [dbo].[D_MT_MONETAIRE] NULL,
	[DPT_MT_AJUST] [dbo].[D_MT_MONETAIRE] NULL,
	[DPT_PUVF] [dbo].[D_MT_MONETAIRE] NULL,
	[DPT_NB_HRS_MO] [dbo].[D_QUANTITE_GEN] NULL,
	[DPT_MT_MO] [dbo].[D_MT_MONETAIRE] NULL,
	[DPT_TEXTCOM] [varbinary](max) NULL,
	[DPT_TSTAMP] [timestamp] NULL,
 CONSTRAINT [PK_T_DEVPART_DPT] PRIMARY KEY CLUSTERED 
(
	[DPT_ID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = ON, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
 
GO
SET ANSI_PADDING ON
GO
ALTER TABLE [dbo].[T_DEVPART_DPT]  WITH CHECK ADD  CONSTRAINT [FK_T_DEVPART_DPT_DEV_ID] FOREIGN KEY([DEV_ID])
REFERENCES [dbo].[T_DEVIS_DEV] ([DEV_ID])
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[T_DEVPART_DPT] CHECK CONSTRAINT [FK_T_DEVPART_DPT_DEV_ID]
GO
ALTER TABLE [dbo].[T_DEVPART_DPT]  WITH CHECK ADD  CONSTRAINT [FK_T_DEVPART_DPT_PID] FOREIGN KEY([DPT_PID])
REFERENCES [dbo].[T_DEVPART_DPT] ([DPT_ID])
GO
ALTER TABLE [dbo].[T_DEVPART_DPT] CHECK CONSTRAINT [FK_T_DEVPART_DPT_PID]
GO
ALTER TABLE [dbo].[T_DEVPART_DPT]  WITH CHECK ADD  CONSTRAINT [FK_T_DEVPART_DPT_UPU_CODE] FOREIGN KEY([UPU_CODE])
REFERENCES [dbo].[T_UNITPU_UPU] ([UPU_CODE])
GO
ALTER TABLE [dbo].[T_DEVPART_DPT] CHECK CONSTRAINT [FK_T_DEVPART_DPT_UPU_CODE]
Je m'interroge sur l'impact de ce champ DPT_TEXTCOM en varbinary(mex)
NON NULL sur environ 10 % des lignes (2100000 au total) et dont
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
SELECT AVG(LEN(DPT_TEXTCOM)) FROM T_DEVPART_DPT
WHERE DPT_TEXTCOM IS NOT NULL
donne 2500

ce champ peut assez facilement être requêté à part dans mon application cliente , donc je m'interroge sur l'utilité de le déplacer dans une deuxième table avec un champ répétant la même clef primaire, quelle incidence cela peut avoir sur la fragmentation des index notamment

Bruno