天天看點

mysql oracle

1、 對子查詢的優化表現不佳。

2、 對複雜查詢的處理較弱

3、 查詢優化器不夠成熟

4、 性能優化工具與度量資訊不足

5、 審計功能相對較弱

6、 安全功能不成熟,甚至可以說很粗糙。沒有使用者組與角色的概念,沒有回收權限的功能(僅僅可以授予權限)。當一個使用者從不同的主機/網絡以同樣地使用者名/密碼登入之後,可能被當作完全不同的使用者來處理。沒有類似于Oracle的内置的加密功能。

7、身份驗證功能是完全内置的。不支援LDAP,Active Directory以及其它類似的外部身份驗證功能。

8、Mysql Cluster可能與你的想象有較大差異。

9、存儲過程與觸發器的功能有限。

10、垂直擴充性較弱。

11、不支援MPP(大規模并行處理)。

12、支援SMP(對稱多處理器),但是如果每個處理器超過4或8個核(core)時,Mysql的擴充性表現較差。

13、對于時間、日期、間隔等時間類型沒有秒以下級别的存儲類型。

14、可用來編寫存儲過程、觸發器、計劃事件以及存儲函數的語言功能較弱。

15、沒有基于復原(roll-back)的恢複功能,隻有前滾(roll-forward)的恢複功能。

16、不支援快照功能。

17、不支援資料庫鍊(database link)。有一種叫做Federated的存儲引擎可以作為一個中轉将查詢語句傳遞到遠端伺服器的一個表上,不過,它功能很粗糙并且漏洞很多。

18、資料完整性檢查非常薄弱,即使是基本的完整性限制,也往往不能執行。

19、優化查詢語句執行計劃的優化器提示非常少。

20、隻有一種表連接配接類型:嵌套循環連接配接(nested-loop),不支援排序-合并連接配接(sort-merge join)與散列連接配接(hash join)。

21、大部分查詢隻能使用表上的單一索引;在某些情況下,會存在使用多個索引的查詢,但是查詢優化器通常會低估其成本,它們常常比表掃描還要慢。

22、不支援位圖索引(bitmap index)。每種存儲引擎都支援不同類型的索引。大部分存儲引擎都支援B-Tree索引。

23、管理工具較少,功能也不夠成熟。

24、沒有成熟能夠令人滿意的IDE工具與調試程式。可能不得不在文本編輯器中編寫存儲過程,并且通過往表(調試日志表)中插入記錄的方式來做調試。

25、每個表都可以使用一種不同的存儲引擎。

26、每個存儲引擎在行為表現、特性以及功能上都可能有很大差異。

27、大部分存儲引擎都不支援外鍵。

28、預設的存儲引擎(MyISAM)不支援事務,并且很容易損壞。

29、最先進最流行的存儲引擎InnoDB由Oracle擁有。

30、有些執行計劃隻支援特定的存儲引擎。特定類型的Count查詢,在這種存儲引擎中執行很快,在另外一種存儲引擎中可能會很慢。

31、執行計劃并不是全局共享的,,僅僅在連接配接内部是共享的。

32、全文搜尋功能有限, 隻适用于非事務性存儲引擎。 Ditto用于地理資訊系統/空間類型和查詢。

33、沒有資源控制。一個完全未經授權的使用者可以毫不費力地耗盡伺服器的所有記憶體并使其崩潰,或者可以耗盡所有CPU資源。

34、沒有內建商業智能(business intelligence), OLAP 多元資料集等軟體包。

35、沒有與Grid Control類似的工具(http://solutions.mysql.com/go.php?id=1296&t=s)

36、沒有類似于RAC的功能。如果你問”如何使用Mysql來構造RAC”,隻能說你問錯了問題。

37、不支援使用者自定義類型或域(domain)。

38、 每個查詢支援的連接配接的數量最大為61。

39、MySQL支援的SQL文法(ANSI SQL标準)的很小一部分。不支援遞歸查詢、通用表表達式(Oracle的with 語句)或者視窗函數(分析函數)。支援部分類似于Merge或者類似特性的SQL文法擴充,不過相對于Oracle來講功能非常簡單。

40、 不支援功能列(基于計算或者表達式的列,Oracle11g 開始支援計算列,以及早期版本就支援虛列(rownum,rowid))。

41、不支援函數索引,隻能在建立基于具體列的索引。

42、不支援物化視圖。

43、不同的存儲引擎之間,統計資訊差别很大,并且所有的存儲引擎支援的統計資訊都隻支援簡單的基數(cardinality)與一定範圍内的記錄數(rows-in-a-range)。 換句話說,資料分布統計資訊是有限的。更新統計資訊的機制也不多。

44、沒有内置的負載均衡與故障切換機制。

45、複制(Replication)功能是異步的,并且有很大的局限性。例如,它是單線程的(single-threaded),是以一個處理能力更強的Slave的恢複速度也很難跟上處理能力相對較慢的Master。

46、 Cluster并不如想象的那麼完美。或許我已經提過這一點,但是這一點值得再說一遍。

47、資料字典(INFORMATION_SCHEMA)功能很有限,并且通路速度很慢(在繁忙的系統上還很容易發生崩潰)。

48、不支援線上的Alter Table操作。

49、不支援Sequence。

50、類似于ALTER TABLE或CREATE TABLE一類的操作都是非事務性的。它們會送出未送出的事務,并且不能復原也不能做災難恢複。Schame被儲存在檔案系統上,這一點與它使用的存儲引擎無關。