事務介紹
事務(transaction), 一般是指要做的或所做的事情. 在計算機術語中是指訪問並可能更新資料庫中各種資料項的乙個程式執行單元(unit).
例如: 去銀行取500元錢, 大概有兩個步驟:第一步輸入密碼金額, 銀行卡扣掉500元;第二部從atm出500元錢. 這兩個步驟必須是要麼都執行要麼都不執行. 如果銀行卡扣除了500元但atm出錢失敗, 使用者將會損失500元; 如果銀行卡扣錢失敗但atm卻出了500元, 那麼銀行將損失500元.
事務的四個特性(acid)
(1) 原子性(atomicity) : 事務是乙個原子操作, 由一系列動作組成. 事務的原子性確保動作要麼全部完成, 要麼完全不起作用.(多個操作,要麼都成功,要麼都失敗)
(2) 一致性(consistency) :一旦事務完成(不管成功還是失敗), 系統必須確保它所建立的業務處於一致的狀態, 而不是部分完成部分失敗. 在現實中的資料不應該被破壞.(資料操作之前和操作之後具有一致性)
(3) 隔離性(isolation) : 可能有許多事務會同時處理相同的資料, 因此每個事務都應該與其他事務隔離開來, 防止資料損壞.(事務與事務之間互不干擾)
(4) 永續性(durability) : 一旦事務完成, 無論發生什麼系統錯誤, 它的結果都不應該受到影響, 這樣就能從任何系統崩潰中恢復過來. 通常情況下, 事務的結果被寫到持久化儲存器中.(事務提交後的資料會永久儲存)
3.事務的使用
(1) 開啟事務:
start transaction;
(2) 執行多條sql語句
(3) 回滾或提交: rollback / commit;
rollback代表"全部失敗", commit代表"全部成功"
4.使用事務的原因
使用事務來控制, 可以保證資料庫中的sql語句要麼全部執行成功, 要麼全部執行失敗.
1.索引
1.概念
索引用於加快資料的檢索,類似於書籍的索引,在資料庫中索引可以減少在查詢結果時需要讀取的資料量,類似於在書籍中我們利用索引可以不用翻閱整本書,就可以找到想要的資訊。
乙個表可以有多個唯一索引
該欄位沒有重複值, 但可以有乙個空值
2.作用
資料庫中索引的作用就相當於書籍的目錄, 可用於快速定位, 檢索資料.
索引對於提高資料庫的效能有很大的幫助
提高查詢的速度
3.索引重點總結
(1) 對於插入, 刪除資料頻率高的表, 不適用索引
(2) 對於某列修改頻率高的, 該列不適用索引
(3) 通過某列或某幾列的條件查詢頻率高的, 可以對這些列建立索引
MySQL 資料庫索引與事務的特性
索引的概念 索引是資料庫表中一列或多列的值進行排序的一種結構,使用索引可快速訪問資料庫表中的特定資訊。如果想按特定職員的性查詢他或她,則與在表中搜尋的所有行相比,索引有助於更快的獲取資訊。索引的乙個主要的目的就是加快檢索表中資料的方法,也是盡快的找到符合限制條件的記錄id的輔助資料結構 優點 通過建...
MYSQL資料庫擴充套件 索引與事務與引擎
mysql資料庫擴充套件 索引與事務與引擎 面試 一 資料庫的索引 1 索引 在資料庫中,索引使資料庫程式無須對整個表進行掃瞄,就可以在其中找到所有資料。資料庫的索引是某個表中一列或者若干列值的集合,以及物理標識這些值的資料頁的邏輯指標清單。2 作用 1 設定了合適的索引之後,資料庫利用各種快速的定...
MySQL資料庫 索引和事務
1.概念 索引是一種特殊的檔案,包含著對資料表裡所有記錄的引用指標,可以對錶中的一列或多列建立索引,並指定索引的型別,各類索引有各自的資料結構實現 乙個表可以有多個唯一索引 該欄位沒有重複值,但可以有乙個空值 2.作用 資料庫中索引的作用就相當於書籍的目錄,可用於快速定位,檢索資料.索引對於提高資料...