Mysql5.7 的一些特點

1.內部以及便捷性
1.1 Written in C and C++
意思是Mysql數據管理系統底層是C/C++,也就是說Mysql是用C/C++開發的。 想了想爲什麼不用Java編寫?或許C語言作爲母語言,兼容幾乎所有的操作系統,所以說使得Mysql可以跨多平臺使用。雖然Java也是跨平臺語言,但是Java畢竟還是需要JDK。而C語言,用記事本就能編寫,只要你有對應IDE就能執行。(其實只要改了擴展名,也能用記事本編寫Java)

1.2 Tested with a broad range of different compilers
意思是Mysql在大量廣泛的編譯器上進行過測試。

1.3 Works on many different platforms
可以在許多不同平臺使用。這個從是用C/C++編寫的就能知道,其可以跨多平臺使用的特點。

1.4 Uses CMake in MySQL 5.5 and up
CMake是一個跨平臺的安裝(編譯)工具,可以用簡單的語句來描述所有平臺的安裝(編譯過程)。
1.5 Uses multi-layered server design with independent modules
使用具有獨立模塊的多層服務器設計
1.6 Designed to be fully multi-threaded using kernel threads, to easily use multiple CPUs if they are available.
設計使用內核線程的完全多線程,如果合適的話,可以輕鬆使用多個CPU。意思是如果你有多個CPU,Mysql可以輕鬆使用多個CPU(中央處理器)

1.7 Provides transactional and nontransactional storage engines
提供事務性和非事務性的存儲引擎,事務性表的特徵在於將批處理當做一個完整的任務統一執行或回滾,也就是說sql語句要麼全部執行,要麼全部不執行。而非事務性表,則是自上從下,一個語句一個語句的執行,遇到錯誤將停止操作。事務性表的優點在於在執行操作時如果遇到不可抗力導致操作突然停止,可以事後找回原數據。而非事務性表改變了數據將是永久性的。但是非事務性表的優點在於所需存儲空間小,快。事務性表爲什麼可以回滾,找回原數據,個人理解可能是事務表在存儲時進行復制,對事務表的執行可能是鏡像表,並非原表。而非事務表,則是對原表進行操作,所以也就解釋了爲什麼非事務表所需存儲空間小,因爲它不需要進行復制,直接對原表進行操作。

1.8 Uses very fast B-tree disk tables (MyISAM) with index compression
底層索引數據結構是B-tree,多路搜索樹。使用B-tree結構可以顯著減少定位記錄時所經歷的中間過程,從而加快存取速度。一般在數據庫的索引中,採用B-tree的綜合效率高。

1.9 Designed to make it relatively easy to add other storage engines. This is useful if you want to provide an SQL interface for an in-house database
旨在相對容易添加其他存儲引擎。如果要爲內部數據提供一個SQL接口,這將非常有用。 Mysql的存儲引擎接口定義良好,可以添加自定義的存儲引擎。

1.10 Uses a very fast thread-based memory allocation system
使用非常快的基於線程的內存分配系統。

1.11 Executes very fast joins using an optimized nested-loop join
使用優化的嵌套循環連接執行非常快速的連接,也就是連接數據庫的速率很快。

1.12 Implements in-memory hash tables, which are used as temporary tables
實現內存中的哈希表,用作臨時表
1.13 Implements SQL functions using a highly optimized class library that should be as fast as possible.Usually there is no memory allocation at all after query initialization
實現SQL函數使用一個高度優化類庫,應儘可能的快。通常在查詢初始化後沒有分配內存。

1.14 Provides the server as a separate program for use in a client/server networked environment, and as a library that can be embedded (linked) into standalone applications. Such applications can be used in isolation or in environments where no network is available.
提供服務器作爲一個單獨的程序用於在客戶機/服務器網絡環境中,作爲一個庫,可以嵌入(鏈接)到獨立的應用程序中。這種應用程序可以單獨使用,也可以在沒有網絡可用的環境中使用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章