View Full Version : درج داده از يك جدول به جدول ديگر
sajjadrazmi
دوشنبه 10 آبان 1389, 16:37 عصر
سلام دوستان
مي خواستم بدونم سريعترين روشي كه با آن بتوان حدود 50ميليون ركورد را از يك جدول به جدول ديگر انتقال داد، چيه؟
با تشكر
SYSMAN
دوشنبه 10 آبان 1389, 16:55 عصر
Database اگر توی حالت Archive هست از این مد موقتا خارج کنید.
چک کنید ببنید فضای کافی برای Tablespace که می خواهید در جدول آن کپی انجام بشه دارید؟
بر روی هارد هم به همین صورت
اگر روی همون database می خواهی کپی انجام بدی یا بین دوتا database که فیبر نوری دارند
و سرعت شبکه بالا دارند از دستور زیر استفاده کنید که سریعترین روش هست
create table big_table_copy as (
select * from Table_Name);
در غیر اینصورت از exp/imp استفاده کنید
sajjadrazmi
دوشنبه 10 آبان 1389, 18:22 عصر
Database اگر توی حالت Archive هست از این مد موقتا خارج کنید.
چک کنید ببنید فضای کافی برای Tablespace که می خواهید در جدول آن کپی انجام بشه دارید؟
بر روی هارد هم به همین صورت
اگر روی همون database می خواهی کپی انجام بدی یا بین دوتا database که فیبر نوری دارند
و سرعت شبکه بالا دارند از دستور زیر استفاده کنید که سریعترین روش هست
create table big_table_copy as (
select * from Table_Name);
در غیر اینصورت از exp/imp استفاده کنید
ممنون از جوابتون.
ولي اگر من جدول دوم رو كه مي خوام توش داده بريزم از قبل با فيلدها و ايندكس هاي متفاوت از جدول اول داشته باشم، اونوقت چكار مي تونم بكنم؟ هر دو جدول هم رو يه ديتابيس قرار دارند.
SYSMAN
دوشنبه 10 آبان 1389, 18:54 عصر
یعنی می خواهید برخی از فیلدها رو توی جدول جدید کپی کنید؟؟
آیا دسترسی برای جدول دوم تعریف شده یا در حال حاضر جدول دوم فعال هست؟
sajjadrazmi
سه شنبه 11 آبان 1389, 15:09 عصر
یعنی می خواهید برخی از فیلدها رو توی جدول جدید کپی کنید؟؟
آیا دسترسی برای جدول دوم تعریف شده یا در حال حاضر جدول دوم فعال هست؟
بله. از نظر دسترسي و غيره مشكلي نيست. ميخوام مثلا فيلدهاي 1و 2و5 جدول اول رو تو فيلدهاي 3و4و8 جدول دوم كپي كنم.
SYSMAN
سه شنبه 11 آبان 1389, 17:36 عصر
اگر می خواهید جدول دوم حفظ بشه تنها راهی که دارید استفاده از insert select هست.
البته قبل از این کار index رو غیر فعال کنید که سرعت کارتون بالاتر بره
sajjadrazmi
شنبه 15 آبان 1389, 16:57 عصر
اگر می خواهید جدول دوم حفظ بشه تنها راهی که دارید استفاده از insert select هست.
البته قبل از این کار index رو غیر فعال کنید که سرعت کارتون بالاتر بره
خيلي ممنون از راهنماييتون.
من از For...... bulk insert استفاده كردم حدود 4 ساعت كشيد. البته ايندكس ها هم فعال بودن. چون بعد از insert بخواهيم ايندكس ها رو فعال كنيم، خودش زياد طول مي كشه.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.