久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:142日期:2023-10-28 10:13:41

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

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

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

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

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

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

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

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

三、 常見的錯誤。

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

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

標簽: Sql Server 數據庫
主站蜘蛛池模板: 龙州县| 黄平县| 泰顺县| 东台市| 刚察县| 靖江市| 阳新县| 泌阳县| 东平县| 巴彦淖尔市| 芜湖市| 曲阳县| 昭觉县| 会昌县| 阿克陶县| 黔西| 泰安市| 延庆县| 仙居县| 八宿县| 耒阳市| 长武县| 二连浩特市| 迭部县| 崇文区| 金堂县| 神木县| 宣化县| 北川| 兰西县| 礼泉县| 武隆县| 合山市| 色达县| 中山市| 龙游县| 喀什市| 资中县| 清水河县| 维西| 遂溪县|