freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

oracle數(shù)據(jù)庫中行遷移_行遷移專題-資料下載頁

2025-01-14 22:09本頁面
  

【正文】 ANALYZE TABLE table_name LIST CHAINED ROWS INTO chained_rows。 3. 將表中的行遷移的row id放入臨時(shí)表中保存。 CREATE TABLE table_name_temp ASSELECT * FROM table_nameWHERE rowid IN(SELECT head_rowid FROM chained_rowsWHERE table_name = 39。table_name39。)。4. 刪除原來表中存在的行遷移的記錄行。 DELETE table_nameWHERE rowid IN(SELECT head_rowidFROM chained_rowsWHERE table_name = 39。table_name39。)。5. 從臨時(shí)表中取出并重新插入那些被刪除了的數(shù)據(jù)到原來的表中,并刪除臨時(shí)表。 INSERT INTO table_name SELECT * FROM table_name_temp。DROP TABLE table_name_temp。對(duì)于這種傳統(tǒng)的清除RM的方法,優(yōu)點(diǎn)是執(zhí)行起來過程比較簡(jiǎn)單,容易實(shí)現(xiàn)。但是這種算法的缺陷是沒有考慮到表關(guān)聯(lián)的情況,在大多數(shù)數(shù)據(jù)庫中很多表都是和別的表之間有表關(guān)聯(lián)的,有外鍵的限制,這樣就造成在步驟3中根本無法delete掉存在有行遷移的記錄行,所以這種方法能夠適用的表的范圍是有限的,只能適用于表上無任何外鍵關(guān)聯(lián)的表。由于這種方法在插入和刪除數(shù)據(jù)的時(shí)候都沒有disable掉索引,這樣導(dǎo)致主要消耗時(shí)間是在刪除和插入時(shí)維持索引樹的均衡上了,這個(gè)對(duì)于如果記錄數(shù)不多的情況時(shí)間上還比較短,但是如果對(duì)于記錄數(shù)很多的表這個(gè)所消耗的時(shí)間就不是能夠接受的了。顯然,這種方法在處理大數(shù)據(jù)量的表的時(shí)候顯然是不可取的。 以下是一個(gè)具體在生產(chǎn)數(shù)據(jù)庫上清除行遷移的例子,在這之前已經(jīng)調(diào)整過表的pctfree參數(shù)至一個(gè)合適的值了: SQL@$ORACLE_HOME/rdbms/admin/Table created.SQL ANALYZE TABLE CUSTOMER LIST CHAINED ROWS INTO chained_rows。Table analyzed.SQLSELECT count(*) from chained_rows;TABLE_NAME COUNT(*)CUSTOMER 213061 rows selected.查看在CUSTOMER表上存在的限制: SQLselect CONSTRAINT_NAME,CONSTRAINT_TYPE,TABLE_NAME from USER_CONSTRAINTS where TABLE_NAME=39。CUSTOMER39。CONSTRAINT_NAME C TABLE_NAME PK_CUSTOMER1 P CUSTOMERSQLselect CONSTRAINT_NAME,CONSTRAINT_TYPE,TABLE_NAME from USER_CONSTRAINTS where R_CONSTRAINT_NAME=39。PK_CUSTOMER139。no rows selectedSQL CREATE TABLE CUSTOMER_temp ASSELECT * FROM CUSTOMER WHERE rowid IN(SELECT head_rowid FROM chained_rowsWHERE table_name = 39。CUSTOMER39。)。 Table created.SQLselect count(*) from CUSTOMER。COUNT(*)338299SQL DELETE CUSTOMER WHERE rowid IN(SELECT head_rowidFROM chained_rowsWHERE table_name = 39。CUSTOMER39。)。21306 rows deleted.SQL INSERT INTO CUSTOMER SELECT * FROM CUSTOMER_temp。21306 rows created.SQL DROP TABLE CUSTOMER_temp。Table dropped.SQL mit。Commit plete.SQL select count(*) from CUSTOMER。COUNT(*)338299SQL truncate table chained_rows。Table truncated.SQL ANALYZE TABLE CUSTOMER LIST CHAINED ROWS INTO chained_rows。Table analyzed.SQL select count(*) from chained_rows。 COUNT(*)0以上整個(gè)清除兩萬多行的行遷移過程在三分鐘左右,而且全部都在聯(lián)機(jī)的狀態(tài)下完成,基本上不會(huì)對(duì)業(yè)務(wù)有什么影響,唯一就是在要清除行遷移的表上不能有對(duì)外鍵的限制,否則就不能采用這個(gè)方法去清除了。
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1