Bonjour,

J’ai une table de STOCK qui possède légèrement moins d’un milliard d’enregistrements (928 031 950 rows pour être exacte).
Je dois identifier 4 ou 5 rows de tests dans toutes ces données et les supprimer.
Néanmoins, mes requêtes sont plus qu’ultra longue… à tel point que j’en ai jamais vu le bout ! (stoppée après 32min ...)


Pour identifier les rows a supprimer, je n'ai qu'une information :
les valeurs de CD_POLICY (integer) à trouver !!

-> Si quelqu'un à une idée de traitement, ou de requêtes magiques, je suis prêt a payer en ticket resto :p


On m'a refilé la patate chaude et je suis vraiment embêter.
Je vous remercie par avance pour vos réponses (constructives ou pas ).



Voici l'aperçu de ma table :
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
50
51
52
53
54
55
56
57
58
59
60
USE [DTMPFO]
GO
/****** Object:  Table [dbo].[DTMPFO_STK_PORTOFLIO_FULL]    Script Date: 03/04/2009 12:50:36 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[DTMPFO_STK_PORTOFLIO_FULL](
	[DT_DAY_STK] [int] NOT NULL,
	[CD_PARTNER] [varchar](2) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
	[CD_MAILING] [varchar](8) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
	[CD_PRODUCT] [varchar](2) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
	[CD_PRODUCT_POLICE] [varchar](2) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
	[CD_INSEE] [varchar](5) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
	[CD_POLICY_STATE] [varchar](1) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
	[CD_POLICY_STATUS] [varchar](1) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
	[CD_PAYMENT_TYPE] [varchar](3) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
	[CD_POLICY] [int] NOT NULL,
	[CD_SCHEDULE] [int] NOT NULL,
	[NB_POLICY_OPTION] [int] NULL,
	[CD_ADDRESSES] [varchar](128) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
	[CD_CUSTOMERS] [int] NOT NULL,
	[CD_CUSTOMERS_TYPE] [varchar](2) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
	[VERSION] [int] NOT NULL,
	[DT_DEB_VERSION] [datetime] NULL,
	[DT_DEB_PERIOD_COUV] [datetime] NULL,
	[DT_FIN_PERIOD_COUV] [datetime] NULL,
	[DT_DEB_PERIOD_VALID] [datetime] NULL,
	[DT_FIN_PERIOD_VALID] [datetime] NULL,
	[CD_AGENT] [varchar](25) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
	[CD_MAILING_OPTION] [varchar](8) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
	[CHARGEGRP] [varchar](16) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
	[NB_POLICIES] [int] NULL,
	[VERSION_GLOBALE] [int] NOT NULL,
	[DT_ECHEANCE] [datetime] NOT NULL,
 CONSTRAINT [PK__DTMPFO_STK_PORTO__58F12BAE] PRIMARY KEY CLUSTERED 
(
	[DT_DAY_STK] ASC,
	[CD_PARTNER] ASC,
	[CD_MAILING] ASC,
	[CD_PRODUCT] ASC,
	[CD_PRODUCT_POLICE] ASC,
	[CD_INSEE] ASC,
	[CD_POLICY_STATE] ASC,
	[CD_POLICY_STATUS] ASC,
	[CD_PAYMENT_TYPE] ASC,
	[CD_POLICY] ASC,
	[CD_SCHEDULE] ASC,
	[CD_ADDRESSES] ASC,
	[CD_CUSTOMERS] ASC,
	[VERSION] ASC,
	[VERSION_GLOBALE] ASC,
	[DT_ECHEANCE] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
 
GO
SET ANSI_PADDING OFF