国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

在SQL Server中謹慎導入導出大容量數據(二)

2024-08-31 00:53:02
字體:
來源:轉載
供稿:網友

  通常情況下,只有在需要大容量導入導出數據的時候才臨時啟用這種操作模式。為了大容量導入性能與數據庫安全考慮,筆者建議建議數據庫管理員可以在執行大容量導入操作之前,先將數據庫改為使用大容量日志恢復模式。完成之后馬上將數據庫重設為完整恢復模式。

  一、 考慮是否需要先暫時刪除表的索引。

  引是一種特殊的文件,在數據庫中它的作用是舉足輕重的。簡單的來說,如果把數據庫比喻成一本書的話,那么索引就好像是書的目錄。索引包含著對數據表里所有記錄的引用指針。索引可以提高數據庫的性能,這是毋庸置疑的。但是不是在任何場合索引都可以起到正面的效果。在某些特殊情況下,其反而會降低一些操作的性能,如大容量數據的導入。

  索引可以加快數據檢索操作,但它會使數據修改操作變慢。因為每次修改或者插入數據記錄,索引就必須刷新一次。也就是說,插入一百萬條記錄,則索引就必須重新所新一百萬次。可見,當大容量數據導入的時候,索引將耗費數據庫大量的資源,從而降低數據庫的性能。如果目的表中有索引,那么不僅會影響數據庫大容量數據導入的速度,而且還會降低其他用戶正常訪問數據庫的性能。

  為此,筆者的建議是,如果要導入的表中數據并不是很多,那么最好先刪除索引來提高大容量數據導入的性能。導入之后再重新啟用索引。但是,如果在需要導入的表中已經有不少的數據,而需要導入的數據可能跟已存在的數據差不多或者要少的話,那么還是不用刪除索引。此時如果刪除索引會起到適得其反的效果。因為數據庫系統重新生成索引所需要的時間可能比大容量導入操作期間所節省的時間要更長。此時管理員刪除目的表的索引就有點得不償失了。

  二、 數據導入后即時進行數據庫備份。

  同建立數據庫對象一樣,把大容量數據導入到數據庫系統后,管理員要及時對現有的數據庫進行備份。因為及時有系統大容量導入工具的幫助,這個數據導入的工作仍然是非常繁瑣、耗時的。為此當大容量數據順利導入到數據庫系統之后,管理員要及時得對數據庫進行備份。這里筆者要提醒大家的是,不同的操作日志模式下,其備份的方法往往是不同的。

  大容量數據導入后,管理員需要對數據庫進行備份。對此筆者的建議是,如果當時管理員采用的是簡單的日志恢復模式,則管理員在大容量導入操作完成后應該立即執行完整備份或差異備份(如果時間允許的話,最好還是完整備份)。而如果數據庫管理員當時采用的是大容量日志恢復模式或完整恢復模式,如果時間不是很多或者怕擔心完全備份會影響當時用戶的訪問,那么只需執行日志備份就足夠了。如果數據庫服務器還沒有變成生產服務器(即還有沒有用戶在用),則還是對數據庫進行完全備份保險一點。

  三、 常見的錯誤。

  在大容量數據導入過程中,最常見的錯誤大概有兩個。

  一是提供文件的格式不對。如上面所說,通常情況下數據庫提供的大容量導入工具不支持文本文件。為此管理員需要進行事先的轉換。二是要注意隱藏字符可能帶來到問題。許多軟件和文本編輯器都會顯示隱藏字符。這些隱藏字符通常位于數據文件末尾。在大容量導入操作期間,數據文件中的隱藏字符可能會導致一些難以預測的問題,如意外空字符錯誤等等。這個錯誤很好避免。只要數據庫管理員在導入數據之前先查找并刪除所有隱藏字符即可。其實,不僅在大容量數據導入過程中,還是在少量數據導入過程中,都會遇到這個問題。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 玉树县| 丹巴县| 长汀县| 龙江县| 永吉县| 邻水| 宁阳县| 班玛县| 黎城县| 许昌市| 修文县| 明星| 江津市| 蕉岭县| 梁平县| 新安县| 海晏县| 富蕴县| 安龙县| 厦门市| 台安县| 泾阳县| 饶河县| 宜城市| 怀来县| 枝江市| 江城| 新沂市| 双桥区| 舟曲县| 运城市| 静安区| 岱山县| 曲松县| 揭西县| 沾化县| 卓尼县| 石河子市| 武强县| 吉林市| 尼勒克县|