目錄:算法
小結數據庫
MYSQL簡介編程
MYSQL與其餘數據庫比較性能
MYSQL主要使用場景學習
小結:測試
經過本章學習瞭解MYSQL的大部分基本信息, 對於MYSQL主要特長以及使用場景有一個初步瞭解。網站
MYSQL簡介spa
1.1.2 艱難誕生開放源代碼
1985年,以David Axmark爲首的一個瑞典團隊成立了一家公司。公司主要是爲零售商提供數據倉庫服務(能夠理解爲何直至如今,MYSQL最擅長的是查詢性能,而不是事務處理),而且但願可以使用開源的產品來實現。所以,就設計了一個利用索引順序存儲數據的方法,即ISAM(Indexed Sequential Access Method)存儲引擎核心算法的前身。插件
1.1.3 尋求發展
MYSQL誕生的時候,正是互聯網開始高速發展的時期。MYSQL AB知足了開發者對數據庫產品的需求:標準化查詢語句的支持,高效的數據存取,沒必要關心事務完整性,簡單易用,且成本低廉。
因此當時大量的小公司都願意採用MYSQL做爲數據庫應用系統的數據庫管理系統,因此用戶羣不斷增加,進一步促進了MYSQL自身不斷的改進和完善,進入良性循環。
1.1.4 巨人崛起
MYSQL能高速發展離不開另一個很關鍵的因素:就是開放源代碼。
2000年,MYSQL公佈了本身的源代碼,並採用GPL(GNU General Public License)許可協議,正式進入開源世界。
MYSQL與其餘數據庫比較
1.2.1 功能比較
MYSQL已經基本具有了全部通用數據庫管理系統須要的相關功能(ANSI SQL 92)。
舉例說明:
1) 字段類型支持(能夠經過TCX的Crash-me測試套件的測試報告確認)
PostgreSQL(另外一個開源數據庫)支持的類型是最完整的。
而Oracle和其餘如DB2,Sybase等較MYSQL要相對少一些。
2) 事務支持
MYSQL引入第三方插件式存儲引擎InnoDB實現了SQL 92標準定義的4個事務隔離級別(read uncommitted, read committed, repeatable, seralizable)的所有 。
Oracle僅實現其中2種(read committed, seralizable)
PostgreSQL 支持4種隔離級別
3) 可編程支持
MYSQL與其餘數據庫比較存在差別,可是最新版已經開始提供一些簡單的可編程支持。如開始支持Procedure, Function, Trigger等。
而Oracle有PL/SQL, SQL Server 有 T-SQL, PostgreSQL也有PL/PGSQL的支持。
1.2.2 易用性比較
1)系統易用性:
MYSQL的優點所在,由於MYSQL一直奉行簡單易用的原則,也正是這一特性吸引了大量的初級數據庫用戶。
2)安裝
MYSQL安裝包大小僅在100MB左右,與其餘幾大商業數據庫相比徹底不是一個數量級。安裝易用(不管是已經編譯的二進制分發包仍是源碼編譯安裝,都是很是容易)。
3)數據庫建立
MYSQL僅須要一個簡單的Create database命令就能夠瞬間完成建庫動做。
1.2.3 性能比較(第三方評測機構屢次測評的TPCC值)
性能高一直是MYSQL引以自豪的一個特色。僅Oracle數據庫可以與其一較高下。
MYSQL一直以來奉行一個原則: 那就是在保證足夠穩定性的前提下,儘量的提升自身的處理能力。
1.2.4 可靠性
MYSQL在這方面,並不會比商業廠商的產品遜色太多。從早期的Facebook, 還有排在前10的大型網站裏面,大部分都有部分業務是運行在MYSQL數據庫環境下的,如Yahoo, Google
整體來講:MYSQL一直三原則:簡單,高效,可靠
MYSQL主要使用場景
1. Web網站系統
2. 日誌記錄系統
3. 數據倉庫系統
4. 嵌入式系統