時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(1)
此文章主要向大家講述的是SQL Server數(shù)據(jù)庫對大數(shù)據(jù)量表數(shù)據(jù)進行 DELETE 時易產(chǎn)生操作超時的這一問題的具體解決,使用的是SQL2000數(shù)據(jù)庫,編寫了一個C#的應(yīng)用程序,其中一個功能就是清空指定表的全部數(shù)據(jù)。
一個奇怪的現(xiàn)象直到今天才被發(fā)現(xiàn),那就是當這個表的數(shù)據(jù)的容量非常大的時候,我遇到的情況是該表內(nèi)包含5800條數(shù)據(jù),但是數(shù)據(jù)的總?cè)萘?/p>
使用的是SQL2000數(shù)據(jù)庫,編寫了一個C#的應(yīng)用程序,其中一個功能就是清空指定表的全部數(shù)據(jù),一個奇怪的現(xiàn)象直到今天才被發(fā)現(xiàn),那就是當這個表的數(shù)據(jù)的容量非常大的時候,我遇到的情況是該表內(nèi)包含5800條數(shù)據(jù),但是數(shù)據(jù)的總?cè)萘看笥?G,當程序調(diào)用SQL語句"DELETE FROM TABLE"時,再等待了20秒左右后,提示"數(shù)據(jù)庫操作超時,ODBC執(zhí)行超時",然后我分別嘗試刪除其中的3000條和2000條數(shù)據(jù),但是同樣是一樣的超時。
這個結(jié)論是無論我使用的是企業(yè)管理器,還是查詢分析器,還是通過應(yīng)用程序進行操作,都是一樣的結(jié)果,最后發(fā)現(xiàn),當每次刪除的數(shù)據(jù)量小的一定程度時候,操作就不會發(fā)生超時的情況,我選擇的是1000條數(shù)據(jù),根據(jù)情況來看,數(shù)據(jù)容量應(yīng)該為500M左右。
在網(wǎng)絡(luò)上查了一下,發(fā)現(xiàn)很少有人遇到這樣的因為容量而超時的情況,多數(shù)是因為數(shù)據(jù)的條數(shù)巨大(不過個人覺得似乎和容量大小也有關(guān)系吧),暫時沒有查到這是不是sql的一個限制,因為在企業(yè)管理器和查詢分析器中都已經(jīng)將查詢超時設(shè)置為0,但是這個沒有起任何作用,如果大家遇到相同的問題,這里只是給一個大概的情況記錄,原因繼續(xù)調(diào)查中……
上述的相關(guān)內(nèi)容就是對SQL Server數(shù)據(jù)庫對大數(shù)據(jù)量表數(shù)據(jù)進行DELETE時易發(fā)的描述,希望會給你帶來一些幫助在此方面。
關(guān)鍵詞標簽:SQL Server,數(shù)據(jù)庫
相關(guān)閱讀
熱門文章 淺談JSP JDBC來連接SQL Server 2005的方法 SqlServer2005對現(xiàn)有數(shù)據(jù)進行分區(qū)具體步驟 sql server系統(tǒng)表損壞的解決方法 MS-SQL2005服務(wù)器登錄名、角色、數(shù)據(jù)庫用戶、角色、架構(gòu)的關(guān)系
人氣排行 配置和注冊O(shè)DBC數(shù)據(jù)源-odbc數(shù)據(jù)源配置教程 如何遠程備份(還原)SQL2000數(shù)據(jù)庫 SQL2000數(shù)據(jù)庫遠程導入(導出)數(shù)據(jù) SQL2000和SQL2005數(shù)據(jù)庫服務(wù)端口查看或修改 修改Sql Server唯一約束教程 SQL Server 2005降級到2000的正確操作步驟 sql server系統(tǒng)表損壞的解決方法 淺談JSP JDBC來連接SQL Server 2005的方法