|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() Inscription : janvier 2004 Messages : 155 ![]() |
Hello,
J'aimerai supprimer un certain nombre de données dans une BD, en gros le nombre d'entrées peut s'estimer à quelques centaines de millions de ligne.. Comment puis je faire pour deleter mes entrées par tranches de 20000 lignes par exemples pour éviter un tempdbfull ? Merci d'avance ! |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 959 ![]() |
Je suppose que vous utilisez SQL Server... Je ne voit aucune relation entre une suppression de lignes et le remplissage de la base tempdb....
Expliquez plus clairement votre problème et postez dans le bon forum ! 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 * * * * * |
|
00
|
|
|
#3 |
|
Futur Membre du Club
![]() Inscription : janvier 2004 Messages : 155 ![]() |
Non en fait c'est du Sybase. La base va être totalement scotchée pendant cet purge qui risque de durer assez longtemps..
|
|
|
00
|
|
|
#4 |
|
Membre actif
![]() Inscription : août 2007 Messages : 134 ![]() |
On parle d'une tempdb full ou d'un log full?
Les deux ont des causes différentes. Dans tous les cas, pour éviter un log full, il y a plusieurs méthodes, mais il me faut plus d'informations. Pouvez-vous poster le résultat d'un ainsi que d'un . Enfin, de quelle version de sybase s'agit-il? |
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Jean-Philippe SARASY Inscription : mars 2007 Messages : 131 ![]() |
Bonjour
Voici un petit exemple de procedure pour lancer un gros delete par tranche de 200000 : create proc purge_ta as declare @_rc int select @_rc=1 set rowcount 200000 while (@_rc != 0) begin delete from TA_TABLE where ... select @_rc=@@rowcount select 'Lignes supprimees :'+convert(varchar(10),@_rc) end go jeeps64 |
|
00
|
Copyright © 2000-2012 - www.developpez.com