1. 程式人生 > >MySQL數據庫(5)

MySQL數據庫(5)

數據表 刪除 llb mys sql數據庫 相對 安全 安全性 磁盤

事務:

事務四大特性(簡稱ACID):原子性(Atomicity);一致性(Consistency);隔離性(Isolation);持久性(Durability)

開啟事務: begin;

當事務打開的時候,在事務內部進行的邏輯操作不會對表本身有任何影響,只有在事務提交的時候才會顯示出來.

事務回滾: rollback;

在事務沒有提交之前,使用rollback可以將上一條邏輯運算給pass掉,即上一條邏輯操作不會產生任何作用.

提交事務: commit;

在提交事務之後,在事務內執行的邏輯操作會對表內數據進行修改

索引:

索引是什麽:

索引是一種特殊的文件(InnoDB數據表上的索引是表空間的一個組成部分),它們包含著對數據表裏所有記錄的引用指針。更通俗的說,數據庫索引好比是一本書前面的目錄,能加快數據庫的查詢速度

索引目的:

索引的目的在於提高查詢效率,可以類比字典,如果要查“mysql”這個單詞,我們肯定需要定位到m字母,然後從下往下找到y字母,再找到剩下的sql。如果沒有索引,那麽你可能需要把所有單詞看一遍才能找到你想要的,如果我想找到m開頭的單詞呢?或者ze開頭的單詞呢?是不是覺得如果沒有索引,這個事情根本無法完成?

要註意的是,建立索引會占用磁盤空間,建立太多的索引將會影響更新和插入的速度,因為它需要同樣更新每個索引文件。對於一個經常需要更新和插入的表格,就沒有必要為一個很少使用的where字句單獨建立索引了,對於比較小的表,排序的開銷不會很大,也沒有必要建立另外的索引。

索引類型: 主鍵,唯一,普通,聯合

數據庫引擎:

InnoDB:支持事務處理,支持外鍵,並發控制。如果需要對事務的完整性要求比較高(比如銀行),要求實現並發控制(比如售票),那選擇InnoDB有很大的優勢。如果需要頻繁的更新、刪除操作的數據庫,也可以選擇InnoDB,因為支持事務的提交(commit)和回滾(rollback)。

MyISAM:插入數據快,空間和內存使用比較低。如果表主要是用於插入新記錄和讀出記錄,那麽選擇MyISAM能實現處理高效率。如果應用的完整性、並發性要求比較低,也可以使用。

MEMORY:所有的數據都在內存中,數據的處理速度快,但是安全性不高。如果需要很快的讀寫速度,對數據的安全性要求較低,可以選擇MEMOEY。它對表的大小有要求,不能建立太大的表。所以,這類數據庫只使用在相對較小的數據庫表。

MySQL數據庫(5)