1. 程式人生 > >Mysql5.7 的一些特點

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.
提供伺服器作為一個單獨的程式用於在客戶機/伺服器網路環境中,作為一個庫,可以嵌入(連結)到獨立的應用程式中。這種應用程式可以單獨使用,也可以在沒有網路可用的環境中使用

相關推薦

Mysql5.7一些特點

1.內部以及便捷性 1.1 Written in C and C++ 意思是Mysql資料管理系統底層是C/C++,也就是說Mysql是用C/C++開發的。 想了想為什麼不用Java編寫?或許C語言作為母語言,相容幾乎所有的作業系統,所以說使得Mys

關於阿裏雲centos版本,mysql5.7一些註意事項

word xxxxxx str linux服務 配置 linu ron 訪問服務器 nbsp 1.阿裏雲進去mysql是默認已經安裝好了的,只需要修改root用戶的密碼。關於修改密碼: 1)登陸阿裏雲,進入root目錄,會有mysql的.sh文件,可以通過運行該文件得到初始

mysql5.7 json的一些用法

配置表新增主鍵 json裡面每個表多加一層以主鍵作為key值 insert: order_no存在 追加 -----json陣列 update tracking_order set order_info=json_array_append(order_info, ‘$.data’, ca

mysql5.7.19在centos虛擬機器下手動(離線)安裝配置過程與一些問題解決辦法

一、centos下手動配置MySQL資料庫 1.下載MySQL資料庫官網: https://dev.mysql.com/downloads/mysql/  我下載的是mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz 2.通過winscp軟

Linux下MySQL5.7.18二進制包安裝(無默認配置文件my_default.cnf)

一點 utf8 user 二進制 width which 密碼 用戶 location 本文出處:http://www.cnblogs.com/wy123/p/6815049.html 最新在學習MySQL,純新手,對Linux了解的也不多,因為是下載

MySQL5.7源碼安裝問題匯總

源碼 mysql boot 編譯安裝mysql5.7版本,想試用一下新的版本特性,發現跟之前的5.6版本編譯有了一些變化,總結一下避免以後繼續入坑。5.6安裝方式cmake版本5.7編譯cmake要求版本最低為2.8,當前為2.6,所以需要升級cmake版本。信息如下shell>

Centos下使用壓縮包安裝MySQL5.7

san lib 重命名 壓縮 datadir microsoft wid 大小 -s 今天在自己的centos服務器上安裝mysql,碰到的問題相當的多,裝個mysql遠比在windows復雜的多。這裏通過查找的一些博文(包括前幾篇)來記錄安裝mysql時的各種問題。可能步

mysql5.7主主配置

mysql 主主配置 雙主配置1. 準備工作配置環境:centos6.9,mysql5.7先安裝、配置好兩臺MySQL服務器server1 IP:192.168.1.1server2 IP:192.168.1.2mysql的安裝請參考之前的文章:LAMP環境搭建(centos6.9+apache2.4+mys

mysql5.7:mysql安裝和基於SSL加密的主從復制(詳細剖析)

mysql ssl db 數據 加密傳輸 小生博客:http://xsboke.blog.51cto.com 小生 Q Q:1770058260 -------謝謝您的參考,如有疑問,歡迎交流目錄:--------my

windows2016 安裝mysql5.7

work mysql5.7 net 註冊 註冊表 windows mac 下一步 local 下載msi安裝包,一路下一步。 安裝好後,做下簡單配置。 默認的my.ini和datadir在C:\ProgramData\MySQL Server 5.7下 更改默認my.i

macOS10.12部署sonarqube5.6.3 + mysql5.7.17

con 變量 打印 拷貝 tab unicode osx dst 目錄 所需安裝包已全部上傳雲盤:https://pan.baidu.com/s/1i5LvOCd  密碼:s47e 1. 安裝mysql   下載雲盤的dmg包,一路默認安裝,註意:一定要記住最後一步

mysql5.7以上安裝

set https ini 密碼 -1 sta success 添加 sed 下載:https://dev.mysql.com/downloads/mysql/ 1.在解壓的mysql下(bin目錄統計),創建my.ini 文件,內容日下(路徑根

MySQL5.7新特性——gtid基礎

mysql gtid 1、MySQL5.7 新特性:gtid復制①:GTID是什麽 是事務的ID,唯一識別號,全局唯一。 隨事務記錄到Binary Log中,用來標識事務。 每個事務有一個Gtid_log_event。 ②:GTID的構成 UUID + Sequence

Centos系統通過tar.gz包安裝Mysql5.7

light 修改 class ads basedir 創建 datadir 遠程 root 1.安裝mysql之前需要確保系統中有libaio依賴,使用如下命令: yum search libaio yum install libaio 2.進入centos終端操作

centos7.2安裝mysql5.7.17

修改密碼 password 安全性 mysql start CentOS 7之後的版本yum的默認源中使用MariaDB替代原先MySQL,因此安裝方式較為以往有一些改變:下載mysql的源wget http://dev.mysql.com/get/mysql57-community-re

MySQL5.7多源復制

安裝 ats ignore number star 數據統計 cond enforce 機房 MySQL5.7開始支持多源復制,也就是多主一從的復制架構: 使用多源復制的考慮: 1、災備作用:將各個庫匯總在一起,就算是其他庫都掛了(整個機房都無法連接了),還有最後一個救命

MySQL5.7 服務 crash 後無法啟動

mysql owin mysql5.7 light libraries trac func 0x7a force 事發背景 測試環境更換數據盤,直接采取在線將數據目錄暴力拷貝到新盤,然後將原服務關閉,啟用新盤。 服務是可以正常啟動的,但是沒多會開發就反應服務down了,

centos mysql5.7 二進制包安裝

bsp .com flush 12.1 login 配置 沒有 mysql5 oot 此種方式安裝非常簡單 cd /usr/local 下載安裝包wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17-

Windows下安裝Mysql5.7

環境變量 環境 cas 初始化 地址 5.7 name init spa 版本如下: Windows10 Mysql5.7.18 下載地址:https://dev.mysql.com/downloads/mysql/ 本人解壓到了:D:\Program Files (x

Mysql5.7 基目錄沒有data文件夾 解決方法

mysql5.7MySQL數據庫在升級到5.7版本後,和之前的版本有些不一樣,沒有data文件夾,我們都知道MySQL數據庫文件是保存在data文件夾中的,網上有人說把5.6版本的data文件夾拷貝一個,這種說法聽聽都不靠譜,我也試了,確實能夠登錄,但是無法修改管理員密碼,下面還是給個標準的解決方法。安裝好M