標籤:
1、常識:
MySQL是一個小型關係型資料庫管理系統,開發人員為瑞典MySQL AB公司。在2008年1月16號被Sun公司收購。而2009年,SUN又被Oracle收購。
MySQL是一種關聯資料庫管理系統,關聯資料庫將資料儲存在不同的表中,而不是將所有資料放在一個大倉庫內。這樣就增加了速度並提高了靈活性。MySQL的SQL“結構化查詢語言 (SQL)”。SQL是用於訪問資料庫的最常用標準化語言。MySQL軟體採用了GPL(GNU通用公用許可證)。由於其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網站為了降低網站總體擁有成本而選擇了MySQL作為網站資料庫。
與其他的大型資料庫例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之處,如規模小、功能有限(MySQL Cluster的功能和效率都相對比較差)等,但是這絲毫也沒有減少它受歡迎的程度。
支援AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多種作業系統。
2、MySQL的儲存引擎:
MyISAM:Mysql的預設資料庫,最為常用。擁有較高的插入,查詢速度,但不支援事務。
InnoDB:事務性資料庫的首選引擎,支援ACID事務,支援行級鎖定。
BDB:源自Berkeley DB,事務性資料庫的另一種選擇,支援commit和rollback等其他事務特性。
Memory:所有資料置於記憶體的儲存引擎,擁有極高的插入,更新和查詢效率。但是會佔用和資料量成正比的記憶體空間,並且內容會在Mysql重啟時丟失。
Merge:將一定數量的MYISAM表聯合而成一個整體,在超大規模資料存放區時很有用。
Archive:非常適合儲存大量的獨立的,作為記錄的資料。因為它們不經常被讀取。Archive擁有高效的插入速度,但其對查詢的支援相對較差。
Federated:將不同的Mysql伺服器聯合起來,邏輯上組成一個完整的資料庫。非常適合分布式應用。
Cluster/NDB:高冗餘的儲存引擎,用多台資料機器聯合提供服務以提高整體效能和安全性。適合資料量大,安全和效能要求高的應用。
CSV:邏輯上用逗號分割資料的儲存引擎。
BlackHole:黑洞引擎,寫入的任何資料都會消失,一般用於記錄binlog做複製的中繼。
EXAMPLE:儲存引擎是一個不做任何事情的存根引擎。它的目的是作為MySQL原始碼中的一個例子,用來示範如何開始編寫一個新儲存引擎。同樣,它的主要興趣是對開發人員。EXAMPLE儲存引擎不支援編索引。
我們最常用的儲存引擎是InnoDB。
MySql資料庫學習筆記(一)—MySQL簡介