IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Delete sur N Millions d'enregs


Sujet :

MS SQL Server

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2006
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 52
    Points : 28
    Points
    28
    Par défaut Delete sur N Millions d'enregs
    Bonsoir,
    Quand je fais un delete sur une table de 20 millions d'enregs (delete de 6 millions de lignes), ma requête tombe en timeout au bout de 20 mn. De plus, le fichier de transaction devient énorme, ce qui est logique.

    Est ce qu'il y a une solution pour deleter ces 6 millions de lignes sans écrire les transactions dans la log, afin d'aller au bout !

    Merci d'avance

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 896
    Points : 53 126
    Points
    53 126
    Billets dans le blog
    6
    Par défaut
    Utilisez la commande TRUNCATE

    Si vous avez des contraintes d'integrite, desctivez les.

    A +

  3. #3
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Malheureusement le TRUNCATE ne va pas pouvoir supprimer seulement un sous-ensemble des lignes de la table.

    Tu peux segementer ton DELETE en utilisant un SET ROWCOUNT et une boucle WHILE.

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juin 2006
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 52
    Points : 28
    Points
    28
    Par défaut
    Je vais essayer ca.

    Pour info, existe t il dans SSIS une tache permettant d'extraire des données d'une table de fait pour les historiser dans une table ayant le meme dessin ?

  5. #5
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Bonjour,

    Si c'est pour copier des données d'une table à une autre, un simple dataflow entre une source et une destination suffit. As-tu des choses plus compliquées à faire ?

  6. #6
    Nouveau membre du Club
    Inscrit en
    Juin 2006
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 52
    Points : 28
    Points
    28
    Par défaut
    c'est effectivement pas beaucoup plus compliqué que ca, sauf que je veux faire un delete des enregistrements copiés.

Discussions similaires

  1. [2008R2] Temps d'exécution "normal" pour un count sur 5 millions d'enreg
    Par nobs dans le forum Administration
    Réponses: 8
    Dernier message: 01/08/2014, 08h51
  2. [VS2005][C#] Delete sur un Dataset typé
    Par Xno dans le forum Windows Forms
    Réponses: 3
    Dernier message: 19/09/2005, 18h13
  3. [Firebird] DELETE sur le résultat d'une requete d'un IBQUERY
    Par shashark dans le forum Bases de données
    Réponses: 3
    Dernier message: 25/06/2005, 18h17
  4. [SELECT sur 16 millions de lignes] délai très grand
    Par localhost dans le forum Requêtes
    Réponses: 6
    Dernier message: 22/11/2004, 17h04
  5. delete sur une vue: rule
    Par Bouboubou dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 18/05/2004, 18h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo