2017-03-29 4 views
0

Dans SQL Server 2008 R2, j'ai deux tables Table_A & Table_B.Data Movement SQL Server

Table_A a 20 millions de disques & Table_B est vide avec la même structure Table_A. Je souhaite déplacer les enregistrements de Table_A vers Table_B avec condition (90 jours d'enregistrements antérieurs, 15 millions d'enregistrements) sans aucun problème de performances. Quelle serait la meilleure solution pour déplacer les données?

Les données doivent être supprimées de Table_A une fois qu'elles ont été déplacées vers Table_B.

+0

Pas une question de débordement de pile je crois –

+1

Que voulez-vous dire par « crore »? – cars10m

+1

Vous devez vous en tenir aux ** unités de mesure ** internationalement acceptées - des milliers, des millions, des milliards - "crore" et "lakh" et d'autres ** NON ** universellement connus et beaucoup de gens ne sauront pas quelle quantité de données vous re référence à .... –

Répondre

0

Essayez de penser en SQL:

INSERT INTO target 
    SELECT as_is_col1, as_is_col2, 
    FROM source 
    WHERE wanted_col BETWEEN 0 AND 200000000; 
+0

Peut-être que vous devriez équiper votre commande 'insert' avec une liste de colonnes. Cela rendra les choses beaucoup plus claires, surtout quand il y a une colonne 'identity' (clé primaire) impliquée. Dans ce cas, vous devrez également placer une commande 'set identity_insert target_tbl on; Seulement alors vous obtiendrez les * mêmes * numéros d'identification dans les deux tableaux. – cars10m

+0

Bro .. Cela conduira à la serrure de table pour longtemps. Comme il s'agit d'une table d'affaire très importante, je pense à le faire comme dans la requête sql simple – Karthik