Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Outils
Outils Forum d'entraide sur les outils gravitant autour de MS-SQL Server, tels que bcp, TDS, ...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/01/2012, 15h55   #1
Invité de passage
 
Sylvain Dionne
Inscription : janvier 2010
Messages : 5
Détails du profil
Informations personnelles :
Nom : Sylvain Dionne

Informations forums :
Inscription : janvier 2010
Messages : 5
Points : 0
Points : 0
Par défaut SSIS Update performant

Bonjour, j'ai fait un package SSIS (SQL2005) qui fait différentes taches de mise à jour d'un bd, tout fonctionne relativement bien, sauf au niveau des performances.
Une des taches de mon package doit lire une table et changer la valeur d'un champ, donc pour ce faire j'utilise une commande OLE DB comme suit:

Update StatProcessus
Set Actif = 0
Where Actif = 1

Tout fonctionne, l'inconvénient c'est que c'est long, même si j'ai dans les fait il y a seulement 591 records à changer de 0 à 1, la fonction passe les 278000 records.

Si je fais la même commande comme requête SQL directement sur Management Studio, le update est instantané.

est-ce que quelqu'un aurait la gentillesse de me donner un exemple qui permettrait d'obtenir le même résultat avec SSIS

Merci

Sylvain
sdionne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2012, 16h59   #2
Modérateur
 
Homme
Administrateur de base de données
Inscription : août 2007
Messages : 1 159
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : Belgique

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : août 2007
Messages : 1 159
Points : 1 608
Points : 1 608
Tu peux creer une stored proc qui fait le bout de code souhaite et l'appeler depuis ton package SSIS.
Ptit_Dje est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2012, 19h28   #3
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 687
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 687
Points : 10 442
Points : 10 442
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
Si vous voulez le faire en dataflow, il faut construire l'update sur la clef primaire en filtrant les 1 au préalable.

Ce sera moins rapide que la requête SQL pure, mais les performances devraient être toutefois correctes.
__________________
Email : http://scr.im/waldar
Waldar est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2012, 11h23   #4
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 959
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 959
Points : 17 791
Points : 17 791
Si la clef de la table est un cluster, rajoutez un index sur cette colonne devrait suffire.

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h19.


 
 
 
 
Partenaires

Hébergement Web