bonjour

sql server 2005
server lié sql server 2005 (provider SQLNCLI)

j'ai des temps assez long depuis des procédures stockées qui synchronisent des données
avec ou sans transaction le temps est le même (msdtc pour les transactions distribuées)


une requete qui prend plus d'une minute :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
UPDATE serveurlié.base.dbo.table SET FlagTransfert = 1
  WHERE IDServer = 13  AND SrcTable = '_histoarticle' AND FlagTransfert = 0
la meme requete hors procédure stockée prend moins d'une seconde

DDL de la table :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
CREATE TABLE [dbo].[SYNCPubLogs](
    [IDPubLog] [bigint] IDENTITY(1,1) NOT NULL,
    [IDServer] [bigint] NOT NULL,
    [SrcTable] [nvarchar](80) NOT NULL,
    [SrcIDLine] [bigint] NOT NULL,
    [FlagTransfert] [bit] NOT NULL CONSTRAINT [DF_SYNCPubLogs__FlagTransfert]  DEFAULT ((0)),
 CONSTRAINT [PK_PubLogs] PRIMARY KEY CLUSTERED 
(
    [IDPubLog] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
(précision : server=> serverlié 100ko/s serverlié=>server 1,5Mo/s)

pourquoi c'est si long dans la procédure stockée ??

merci ...