2009-06-09 8 views
1

J'ai une grande table DB que j'utilise pour tester. Il contient 7,3 millions d'enregistrements d'appels téléphoniques. Je voudrais supprimer beaucoup de ceux-ci, mais toujours maintenir une bonne répartition sur les numéros de téléphone et les dates. Y a-t-il un moyen d'y parvenir? Peut-être quelque chose à faire avec table sample?Comment «effacer» une table de base de données?

+1

Quels sont vos critères pour lesquels les entrées supprimer et que retenir? –

Répondre

6

Supprimer où l'ID se termine dans un 1 ou 6? Ou similaire, selon exactement combien vous devez supprimer.

-à-dire de garder seulement 10% des dossiers pour les tests supprimer tous les enregistrements qui ne se terminent pas (par exemple) 7.

(Notez que supprimer comme cela pourrait prendre un certain temps. Vous pourriez être mieux faire une CREATE TABLE AS avec juste les dossiers dont vous avez besoin)

3

Copiez les données que vous souhaitez conserver.

SELECT TOP 1000 * eN dbo.Buffer dE Data.Numbers ORDER BY NewID()

Del toutes les données ete:

TRUNCATE TABLE Data.Numbers

reculer les données conservées

entaillent Data.Numbers (liste des colonnes) SELECT DE dbo.Buffer

Questions connexes