標籤:
什麼是事務:
事務是一種機制,一個操作序列,他包含了一組資料庫操作命令,並且把所有命令作為一個整體一起向系統提交或撤銷操作請求。事務是一個不可分割的整體,事務中的多個執行過程,同生共死。要麼都執行成功,要麼都執行失敗
事務的四個特性:
原子性:事務是一個完整的操作,事務的各元素是不可分的
一致性:當事務完成時,資料必須處於一致狀態。也就是說,在事務開始之前,資料庫中儲存的資料處於一致狀態。
隔離性:對資料進行修改的所有並發事務是彼此隔離的,這表明事務必須是獨立的,它不應以任何方式依賴於或影響其他事務。
持久性:事務的持久性指不管系統是否發生了故障,交易處理的結果都是永久的
如何執行事務:
1.執行事務的文法:
(1)開始事務:begin transaction 顯示的標記一個事務的起始點
(2)提交事務commit transaction 一個事務成功結束
(3)復原(撤銷)事務:rollback transaction 清除自事務起始點至該語句所做的所有資料更新操作,將資料狀態復原到事務開始之前,並釋放事務控制的資源
2.事務分類:
顯示事務:
隱士事務:
自動認可事務:SQL Server 的預設模式,他將每條單獨的T~SQL語句視為一個事務,如果成功執行,則自動認可,如果錯誤,則自動復原
3.事務應用執行個體
編寫事務時要遵守以下原則:
事務儘可能簡短
事務中訪問的資料量盡量最少
查詢資料是盡量不要使用事務
在交易處理過程中盡量不要出現等待使用者輸入的操作
什麼是索引:
索引是SQL Server編排資料的內部方法,是檢索表中資料的直接通道
索引分類:
1.唯一索引:唯一索引不允許兩行具有相同的索引值
2.主鍵索引:主鍵索引是唯一索引的特殊類型
3.叢集索引: 表中物理順序與索引值額邏輯順序相同
4.非叢集索引:當查詢資料時可以從索引中找到記錄存放的位置
5.複合索引:可以將多個列合作為索引
6. 全文索引:一種特殊類型的基於標記的功能性索引
大神巔峰之作--第六章 事務,試圖和索引