日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

编写有效的事条指导原则

發(fā)布時間:2025/4/16 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 编写有效的事条指导原则 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

以下內(nèi)容純當(dāng)做筆記,來自SQL SERVER 2005 聯(lián)機(jī)叢書。

?

以下是編寫有效事務(wù)的指導(dǎo)原則:

  • 不要在事務(wù)處理期間要求用戶輸入。

    在事務(wù)啟動之前,獲得所有需要的用戶輸入。如果在事務(wù)處理期間還需要其他用戶輸入,則回滾當(dāng)前事務(wù),并在提供了用戶輸入之后重新啟動該事務(wù)。即使用戶立即響應(yīng),作為人,其反應(yīng)時間也要比計(jì)算機(jī)慢得多。事務(wù)占用的所有資源都要保留相當(dāng)長的時間,這有可能會造成阻塞問題。如果用戶沒有響應(yīng),事務(wù)仍然會保持活動狀態(tài),從而鎖定關(guān)鍵資源直到用戶響應(yīng)為止,但是用戶可能會幾分鐘甚至幾個小時都不響應(yīng)。

  • 在瀏覽數(shù)據(jù)時,盡量不要打開事務(wù)。

    在所有預(yù)備的數(shù)據(jù)分析完成之前,不應(yīng)啟動事務(wù)。

  • 盡可能使事務(wù)保持簡短。

    在知道要進(jìn)行的修改之后,啟動事務(wù),執(zhí)行修改語句,然后立即提交或回滾。只有在需要時才打開事務(wù)。

  • 若要減少阻塞,請考慮針對只讀查詢使用基于行版本控制的隔離級別。有關(guān)詳細(xì)信息,請參閱。

  • 靈活地使用更低的事務(wù)隔離級別。

    可以很容易地編寫出許多使用只讀事務(wù)隔離級別的應(yīng)用程序。并不是所有事務(wù)都要求可序列化的事務(wù)隔離級別。

  • 靈活地使用更低的游標(biāo)并發(fā)選項(xiàng),例如開放式并發(fā)選項(xiàng)。

    在并發(fā)更新的可能性很小的系統(tǒng)中,處理“別人在您讀取數(shù)據(jù)后更改了數(shù)據(jù)”的偶然錯誤的開銷要比在讀取數(shù)據(jù)時始終鎖定行的開銷小得多。

  • 在事務(wù)中盡量使訪問的數(shù)據(jù)量最小。

    這樣可以減少鎖定的行數(shù),從而減少事務(wù)之間的爭奪。

避免并發(fā)問題和資源問題

為了防止并發(fā)問題和資源問題,應(yīng)小心管理隱式事務(wù)。使用隱式事務(wù)時,COMMIT 或 ROLLBACK 后的下一個 Transact-SQL 語句會自動啟動一個新事務(wù)。這可能會在應(yīng)用程序?yàn)g覽數(shù)據(jù)時(甚至在需要用戶輸入時)打開一個新事務(wù)。在完成保護(hù)數(shù)據(jù)修改所需的最后一個事務(wù)之后,應(yīng)關(guān)閉隱性事務(wù),直到再次需要使用事務(wù)來保護(hù)數(shù)據(jù)修改。此過程使 SQL Server 數(shù)據(jù)庫引擎 能夠在應(yīng)用程序?yàn)g覽數(shù)據(jù)以及獲取用戶輸入時使用自動提交模式。

另外,啟用快照隔離級別后,盡管新事務(wù)不會控制鎖,但是長時間運(yùn)行的事務(wù)將阻止從 tempdb 中刪除舊版本。

轉(zhuǎn)載于:https://www.cnblogs.com/ision/archive/2009/03/21/1418622.html

總結(jié)

以上是生活随笔為你收集整理的编写有效的事条指导原则的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。