成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術(shù)文章
文章詳情頁

在SQL Server中謹(jǐn)慎導(dǎo)入導(dǎo)出大容量數(shù)據(jù)(二)

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

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

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

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

索引可以加快數(shù)據(jù)檢索操作,但它會(huì)使數(shù)據(jù)修改操作變慢。因?yàn)槊看涡薷幕蛘卟迦霐?shù)據(jù)記錄,索引就必須刷新一次。也就是說,插入一百萬條記錄,則索引就必須重新所新一百萬次。可見,當(dāng)大容量數(shù)據(jù)導(dǎo)入的時(shí)候,索引將耗費(fèi)數(shù)據(jù)庫大量的資源,從而降低數(shù)據(jù)庫的性能。如果目的表中有索引,那么不僅會(huì)影響數(shù)據(jù)庫大容量數(shù)據(jù)導(dǎo)入的速度,而且還會(huì)降低其他用戶正常訪問數(shù)據(jù)庫的性能。

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

二、 數(shù)據(jù)導(dǎo)入后即時(shí)進(jìn)行數(shù)據(jù)庫備份。

同建立數(shù)據(jù)庫對(duì)象一樣,把大容量數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫系統(tǒng)后,管理員要及時(shí)對(duì)現(xiàn)有的數(shù)據(jù)庫進(jìn)行備份。因?yàn)榧皶r(shí)有系統(tǒng)大容量導(dǎo)入工具的幫助,這個(gè)數(shù)據(jù)導(dǎo)入的工作仍然是非常繁瑣、耗時(shí)的。為此當(dāng)大容量數(shù)據(jù)順利導(dǎo)入到數(shù)據(jù)庫系統(tǒng)之后,管理員要及時(shí)得對(duì)數(shù)據(jù)庫進(jìn)行備份。這里筆者要提醒大家的是,不同的操作日志模式下,其備份的方法往往是不同的。

大容量數(shù)據(jù)導(dǎo)入后,管理員需要對(duì)數(shù)據(jù)庫進(jìn)行備份。對(duì)此筆者的建議是,如果當(dāng)時(shí)管理員采用的是簡(jiǎn)單的日志恢復(fù)模式,則管理員在大容量導(dǎo)入操作完成后應(yīng)該立即執(zhí)行完整備份或差異備份(如果時(shí)間允許的話,最好還是完整備份)。而如果數(shù)據(jù)庫管理員當(dāng)時(shí)采用的是大容量日志恢復(fù)模式或完整恢復(fù)模式,如果時(shí)間不是很多或者怕?lián)耐耆珎浞輹?huì)影響當(dāng)時(shí)用戶的訪問,那么只需執(zhí)行日志備份就足夠了。如果數(shù)據(jù)庫服務(wù)器還沒有變成生產(chǎn)服務(wù)器(即還有沒有用戶在用),則還是對(duì)數(shù)據(jù)庫進(jìn)行完全備份保險(xiǎn)一點(diǎn)。

三、 常見的錯(cuò)誤。

在大容量數(shù)據(jù)導(dǎo)入過程中,最常見的錯(cuò)誤大概有兩個(gè)。

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

標(biāo)簽: Sql Server 數(shù)據(jù)庫