1. 程式人生 > >mysql與其他資料庫比較

mysql與其他資料庫比較

   功能比較

作為一個成熟的資料庫管理系統,要滿足各種各樣的商業需求,功能肯定是會被列入重點參考物件的。Mysql的早期版本功能非常簡單,只能做一些基礎的結構化資料存取操作,但是經過多年的改進和完善之後,現在已經具備了所有通用資料庫管理系統需要的相關功能。

Mysql基本實現了ANSI SQL  92的大部分標準,僅有少部份並不經常被使用的沒有實現。比如在欄位型別支援方面,另一個著名的開源資料庫postgreSQL支援的型別是最完整的,。在事務支援的型別是最完整的,而oracle和其他一些商業資料庫(比如DB2Sybase等)較mysql要相對少一些。這一點,我們可以通過TCXCrash-me

測試套件得出測試報告得知。

不過在程式設計支援方面,mysql和其他資料庫相比還有一定差距,雖然最新版本的mysql已經開始提供一些簡單的可程式設計支援,如開始支援produrefuntiontrigger等,但是所支援的功能還比較有限,和其他幾大商用資料庫管理系統相比,還存在較大的不足。如oracle有強大的PL/SQLSqlserverT-SQLpostgresql也有功能很完善的PL/PGSQL的支援。

整體來說,雖然在功能方面mysql資料庫作為一個通用的資料庫管理系統暫時還無法和posgresql相比,但是其功能完全可以滿足我們的通用商業需求,提供足夠強大的服務。而且不管是哪一種資料庫在功能方面都不敢聲稱自己比其他任何一款商用資料庫各管理系統都強,甚至都不敢聲稱能夠擁有某類資料庫產品的所有功能。因為每一款資料庫管理系統都有自身的優勢,也有自身的侷限,這都說明每一款產品重點服務的方向不一樣。

易用性比較

從系統易用性方面來比較,每一個使用過Mysql的使用者都能明顯地感覺出Mysql在這方面的優勢的所在,尤其是相對於一些大型商業資料庫管理系統,如oracleDB2sybase。對於普通使用者來說,它們的操作難易程度明顯不處於一個級別。Mysql一直都奉行簡單易用的原則,也正是這一特性吸引了大量的初級資料庫使用者。這一批又一批的初級使用者,在經過了幾年的成長之後,很多都已經成為了高階資料庫使用者,而且也一直都在伴隨著mysql成長。

從安裝方面來說,Mysql安裝包大小僅100MB,與那幾大商業資料庫相比完全不是一個數量級。它的安裝也比oracle等商業資料庫容易很多,不論是通過已經編譯好的二進位制分發包,還是通過原始碼編譯安裝,都非常簡單。

再從資料庫建立方面比較,mysql僅僅需要一個簡單的create database命令即可在瞬間完成建庫的動作,而oracle資料庫與之相比,建立一個數據庫簡直就是一個龐大的工程。當然,二者在概念上存在一定差別也不可否認。

效能比較

效能高一直是mysql引以自豪的一個特點。在權威的第三方評測機構多次測試比較各種資料庫TPCC值的過程中,mysql一直都非常優異的表現,而且在其他所有商用的通用資料庫管理系統中,僅僅有oracle資料庫能夠與其一較高下。

   Mysql一直以來奉行一個原則,那就是在保證足夠穩定性的前提下,儘可能地提高自身的處理能力。也就是說,在效能和功能方面,mysql第一考慮的要素主要還是效能,mysql希望能夠在滿足客戶99%的需求前提下,將剩餘的所有精力都用來努力提高系統性能,而不希望自己是一個比其他任何資料庫的功能都要強大的產品

可靠性

關於可靠性的比較,並沒有太多詳細的評測比較資料,但是從目前業界的反映中可以瞭解到,幾大商業廠商的資料庫之可靠性肯定是沒有太多問題。但是作為開源資料庫管理系統代表,Mysql也有非常優異的表現,而並不是像有些人心中所懷疑的那樣,以為不是商業廠商提供的,就會不夠穩定、不夠健壯。從當前最火的facebook這樣大型的網站都是使用mysql資料庫就可以看出,mysql在穩定可靠性方面,並不會比商業廠商的產品遜色太多。而且排在全球前10位大型網站裡面,大部分都有部分業務是執行mysql資料庫環境上的,如yahoogoogle等。

總體來說,mysql資料庫在發展過程中一直追求三項原則:簡單、高效、可靠。從上面簡單的比較中也可以看出,mysql在這三項原則上面,沒有哪一項是做得不好的。而且,雖然功能並不是mysql自身追求的原則之一,但是考慮到當前使用者量急劇增長,使用者需求越來越多樣化,mysql也不得不在功能方面作出大量的努力,以不斷滿足客戶的新需求。比如最新版本中出現的Eent scheduler(類似於oraclejob功能)partion功能,自主研發的maria儲存引擎在功能方面的擴充套件,Falcon儲存引擎對事務的支援等,都證明了mysql在功能方面也開始了不懈的努力。

任何一種產品,都不可能是絕對完美的,也不可能適用於所有使用者,我們只有衡量了每一種產品的各種特性之後,從中選擇出一種最適合自己的產品。

相關推薦

mysql其他資料庫比較

   功能比較 作為一個成熟的資料庫管理系統,要滿足各種各樣的商業需求,功能肯定是會被列入重點參考物件的。Mysql的早期版本功能非常簡單,只能做一些基礎的結構化資料存取操作,但是經過多年的改進和完善之後,現在已經具備了所有通用資料庫管理系統需要的相關功能。 Mysql

MySql中SQL語句其他資料庫不一樣的地方

目前發現的mysql與其他資料庫如SqlServer、Oracle不同的地方 mysql中的註釋(--)後要多加一個空格才生效 mysql中查詢條件的字串可以是雙引號 mysql中查詢條件的字串不區分大小寫 mysql中不能按拼音排序,要將資料庫的字符集由UTF-8修改為GBK mysql中有更簡單的分頁方法

mysqlmongo資料庫的優缺點比較

1. Mysql的特點和優劣特點:可以同時處理幾乎不限數量的使用者;處理多達50000000以上的記錄;命令執行速度快,也許是現今最快的;簡單有效的使用者特權系統優點:原始碼的可移植性;支援的作業系統多;為多種程式設計語言提供API(介面)開源;支援多種儲存引擎;等等。缺點:

PostgreSQL其他資料庫比較

轉自:http://www.cnblogs.com/sinlang5778/articles/3040854.html 特性 MySQL PostgreSQL 例項 通過執行 MySQL 命令(mysqld)啟動例項。一個例項可以管理一個或多個數據庫。一臺伺服器可

python性能優化、內存優化、內存泄露;其他語音比較效率如何?

語音 gpo .org .html www. com log .cn amp 1、內存泄露:http://www.cnblogs.com/xybaby/p/7491656.html 2、內存優化:http://www.cnblogs.com/xybaby/p/7488216

mysqloracle資料庫的區別

一、併發性 併發性是oltp資料庫最重要的特性,但併發涉及到資源的獲取、共享與鎖定。 mysql: mysql以表級鎖為主,對資源鎖定的粒度很大,如果一個session對一個表加鎖時間過長,會讓其他session無法更新此表中的資料。 雖然InnoDB引

thinkphp開發總結(二)——同時連線mysqlmongodb資料庫

一、連線mongodb資料庫 連線mongodb我採用的是tp裡的config配置,在Common/Conf/config.php: <?php return array( //資料庫配置資

以MongoDB為例關係型資料庫比較

宣告:本文屬於探討性話題,肯定存在很多疏漏和錯誤,不要盲目相信,大家發現什麼錯誤或者有什麼想法請求務必告知 在比較之前,先介紹一個重要的概念:資料庫事務 作為單個邏輯工作單元執行的一系列操作,要麼完全地執行,要麼完全地不執行。

MySQLOracle 差異比較-基本語法

1、 查詢行數自增1 Oracle:中select rownum , a.* from fdcom a Mysql: select @ROWNO := @ROWNO + 1 as rownum , a.* from (select shortname from

Python3 + Scrapy 爬取豆瓣評分資料存入MysqlMongoDB資料庫

首先我們先抓包分析一下,可以看到我們想要的每一頁的全部資料都在"article"下。而其中每一部的電影的資料可以看到在"info"下。所以我們只要在info下找到自己的目標資料並想好匹配方法即可,本文使用的是xpath,其實也可以在spiders中匯入pyquery或者Bea

SQLiteMySQLPostgreSQL:關係資料庫比較

概述和功能 SQLite是一個基於檔案的嵌入式RDBMS,不需要任何安裝或設定。反過來,這意味著應用程式不在需要啟動,停止或配置的單獨伺服器程序下執行。這種無伺服器架構使資料庫能夠跨平臺相容。 完整的SQL資料庫包含在單個磁碟檔案中,所有讀取和寫入都直接在此磁碟檔案上進行。由於資料直接寫回磁

信息學競賽中的讀入比較其他讀入方法

信息 32位系統 cin def 時間 fread tdi fine with 目錄 註意事項 輸入輸出時間測試 註意事項 讀入註意這幾點 如果關閉同步:ios::sync_with_stdio(false) 那麽cin和scanf不能混用. 不同系統下的longl

php 版本號 整數化 mysql存儲入庫 比較大小【版本處理類,提供版本數字互相轉換】

tro mysql存儲 nload target 版本 存儲 ron 整數 php 下載地址:https://download.csdn.net/download/a724008158/10659015php 版本號 整數化 mysql存儲入庫 比較大小【版本處理類,提供版

MySQLOracle SQL語言差異比較

Oracle與MySQL的SQL語句區別 1資料庫 /*   mysql可以建立資料庫,而oracle沒有這個操作,oracle只能建立例項;   sql資料庫操作:database   格式:   &nbs

Mysql資料庫切換成Oracle資料庫,使用Mybatis+Oracle整合專案,MysqlOracle差別總結

最近公司給我一個任務,把現有專案由Mysql切換成Oracle,而且還要求相容Mysql和Oracle資料庫。網上有很多類似的資源,說了這兩個資料庫的差別,但是沒有進行完整的總結。在這個任務完成後,我在這裡總結一下。 1.原有的mysql的insert語句,沒有做空判斷,也沒有指定jdbc型別,

mysql學習之資料庫管理表管理

資料庫管理 3.1 查詢所有資料庫 mysql> show databases; 3.2 建立資料庫 mysql> create database emp       -- 指定預設字符集建立資料庫   &n

Hive 資料庫比較

由於 Hive 採用了類似SQL 的查詢語言 HQL(Hive Query Language),因此很容易將 Hive 理解為資料庫。其實從結構上來看,Hive 和資料庫除了擁有類似的查詢語言,再無類似之處。本文將從多個方面來闡述

MySQL之檢視修改資料庫編碼

MySQL之檢視與修改資料庫編碼 Windows下修改mysql資料庫編碼 (1)管理員身份進入cmd,輸入:mysql -h伺服器地址 -u使用者名稱 -p密碼 ,最後按回車就行 2. 輸入show variables like ‘%character%’;

支援kubernetes原生Spark 其他應用的結合(mysql,postgresql,oracle,hdfs,hbase)

安裝執行支援kubernetes原生排程的Spark程式:https://blog.csdn.net/luanpeng825485697/article/details/83651742 dockerfile的目錄 . ├── driver │ └── Dockerfile

mysql備份還原 資料庫的常用命令。

一、備份資料: Mysqldump常用命令: mysqldump -u使用者名稱 -p密碼 --databases 資料庫1 資料庫2 > xxx.sql   常見選項: -u: 使用者名稱 -p: 密碼 -P: 埠號,不寫預設3306 --all-data