一、ORACLE與MYSQL的區(qū)別?
Oracle和MySQL是兩種不同的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS),它們各自具有一些顯著的特點(diǎn)和區(qū)別。下面是它們之間的主要區(qū)別:
1.許可證和商業(yè)模式:Oracle是一個(gè)商業(yè)數(shù)據(jù)庫(kù)管理系統(tǒng),需要購(gòu)買許可證,價(jià)格較高。MySQL則是一種開(kāi)源數(shù)據(jù)庫(kù)管理系統(tǒng),使用GPL(GNU通用公共許可證)或商業(yè)許可證,用戶可以自由下載、使用和修改MySQL的源代碼。
2.安全性:Oracle擁有更高的安全性,提供更嚴(yán)格的訪問(wèn)控制、高級(jí)加密和完整性管理等功能。MySQL也提供了基本的安全性控制,但與Oracle相比,它的安全性功能相對(duì)較少。
3.性能:Oracle是一種高性能、可擴(kuò)展的數(shù)據(jù)庫(kù)管理系統(tǒng),可以支持處理大量數(shù)據(jù)和復(fù)雜的事務(wù)。MySQL在處理小型和中型應(yīng)用程序時(shí)性能表現(xiàn)良好,但是對(duì)于處理大量數(shù)據(jù)和復(fù)雜事務(wù)時(shí)可能存在性能瓶頸。
4.可擴(kuò)展性:Oracle支持水平擴(kuò)展和垂直擴(kuò)展,可以根據(jù)需要擴(kuò)展服務(wù)器和存儲(chǔ)器容量。MySQL在可擴(kuò)展性方面相對(duì)較差,對(duì)于大規(guī)模應(yīng)用程序的需求不如Oracle。
5.適用范圍:Oracle適用于大型企業(yè)級(jí)應(yīng)用程序,提供高可靠性、高可用性和高性能。MySQL則適用于中小型應(yīng)用程序和個(gè)人開(kāi)發(fā)者,提供輕量級(jí)、易于使用和管理的數(shù)據(jù)庫(kù)管理系統(tǒng)。
6.數(shù)據(jù)庫(kù)功能:Oracle擁有更多的數(shù)據(jù)庫(kù)功能,如分區(qū)、集群、高級(jí)安全性等。MySQL提供基本的數(shù)據(jù)庫(kù)功能,如索引、事務(wù)處理等。
7.開(kāi)發(fā)工具和API支持:Oracle提供了完整的工具套件和API支持,包括PL/SQL、Java和.NET。MySQL也提供了各種開(kāi)發(fā)工具和API支持,包括PHP、Python、Java等。
8.管理和監(jiān)控:Oracle需要專業(yè)的管理員來(lái)管理、維護(hù)和監(jiān)控?cái)?shù)據(jù)庫(kù)。MySQL的管理和監(jiān)控相對(duì)簡(jiǎn)單,可以使用命令行工具或可視化管理工具進(jìn)行。
9.支持平臺(tái):Oracle支持多個(gè)平臺(tái),包括Windows、Linux、UNIX等。MySQL也支持多個(gè)平臺(tái),但是對(duì)于Windows的支持相對(duì)較弱。
總的來(lái)說(shuō),Oracle和MySQL是兩種不同類型的數(shù)據(jù)庫(kù)管理系統(tǒng),各自適用于不同的場(chǎng)景和應(yīng)用程序。Oracle提供更強(qiáng)大的功能和性能,適用于大型企業(yè)級(jí)應(yīng)用程序。MySQL則提供了輕量級(jí)、易于使用和管理的數(shù)據(jù)庫(kù)管理系統(tǒng),適用于中小型應(yīng)用程序和個(gè)人開(kāi)發(fā)者。
二、oracle與mysql的區(qū)別?
Oracle和MySQL都是關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),但它們有以下區(qū)別:
1. 授權(quán)模式:Oracle數(shù)據(jù)庫(kù)采用商業(yè)授權(quán)模式,需要付費(fèi)購(gòu)買許可證方可使用。而MySQL有一個(gè)開(kāi)源版本(Community Edition),可以免費(fèi)使用,也有一個(gè)商業(yè)版本(Enterprise Edition)。
2. 數(shù)據(jù)庫(kù)規(guī)模:Oracle支持大規(guī)模企業(yè)級(jí)數(shù)據(jù)庫(kù),可以處理非常大的數(shù)據(jù)集。而MySQL更適合小型和中型企業(yè)級(jí)數(shù)據(jù)庫(kù)應(yīng)用。
3. 性能:Oracle具有更好的性能和更高的擴(kuò)展性能,但需要更多的系統(tǒng)資源。而MySQL具有較低的系統(tǒng)資源要求,但在處理大型、復(fù)雜的數(shù)據(jù)時(shí)可能會(huì)出現(xiàn)性能問(wèn)題。
4. 可用性和可靠性:Oracle數(shù)據(jù)庫(kù)提供了高級(jí)別的可用性和可靠性,如主/備和故障轉(zhuǎn)移復(fù)制等。而MySQL在可用性和可靠性方面較弱。
5. 數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類型:Oracle支持更復(fù)雜的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類型,如LOB(大對(duì)象)、XML和JSON等。MySQL支持相對(duì)較少的數(shù)據(jù)類型和結(jié)構(gòu),但足以滿足常用應(yīng)用的需求。
6. 技術(shù)生態(tài)系統(tǒng):Oracle擁有更廣泛的技術(shù)生態(tài)系統(tǒng),提供更多的工具和插件。MySQL的技術(shù)生態(tài)相對(duì)較小,但有一個(gè)龐大的開(kāi)源社區(qū)。
三、mysql與Oracle數(shù)據(jù)同步?
1.在oracle里建立 databaselink,然后用oracle的job來(lái)搞定2.用etl工具,不管是開(kāi)源的還是商用的,kettle,informatic,datastage
四、oracle與mysql有哪些不同?
Oracle和MySQL都是流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),但它們?cè)诤芏喾矫嬗兄煌?,包括以下幾點(diǎn):
數(shù)據(jù)庫(kù)規(guī)模:Oracle是大型數(shù)據(jù)庫(kù),通常用于存儲(chǔ)大規(guī)模的數(shù)據(jù)集和高并發(fā)性負(fù)載,而MySQL則是中小型數(shù)據(jù)庫(kù),適用于存儲(chǔ)中小規(guī)模的數(shù)據(jù)和日常事務(wù)處理。
數(shù)據(jù)庫(kù)架構(gòu):Oracle采用了基于服務(wù)器的架構(gòu),包括數(shù)據(jù)庫(kù)、應(yīng)用程序服務(wù)器和網(wǎng)絡(luò)設(shè)備等多個(gè)組件,而MySQL則采用了典型的客戶端/服務(wù)器架構(gòu),其中客戶端應(yīng)用程序通過(guò)網(wǎng)絡(luò)連接到MySQL服務(wù)器。
數(shù)據(jù)存儲(chǔ):Oracle使用了B樹(shù)索引結(jié)構(gòu)來(lái)存儲(chǔ)數(shù)據(jù),這是一種比較高效的數(shù)據(jù)存儲(chǔ)方式,而MySQL則使用了哈希表和排序算法等非索引結(jié)構(gòu)來(lái)存儲(chǔ)數(shù)據(jù)。
數(shù)據(jù)查詢:Oracle的查詢語(yǔ)言(PL/SQL)非常強(qiáng)大,可以執(zhí)行復(fù)雜的查詢和操作,但是對(duì)于大規(guī)模數(shù)據(jù)集和高并發(fā)性負(fù)載可能會(huì)變得很慢,而MySQL的查詢語(yǔ)言(SQL)相對(duì)簡(jiǎn)單,但是它支持更快速的查詢和操作,特別是在處理大量數(shù)據(jù)時(shí)。
數(shù)據(jù)備份和恢復(fù):Oracle備份數(shù)據(jù)時(shí)通常使用RMAN備份程序,這是一個(gè)命令行實(shí)用程序,需要手動(dòng)執(zhí)行備份操作。而MySQL備份數(shù)據(jù)時(shí)通常使用的是一個(gè)稱為mysqldump的腳本程序,可以自動(dòng)執(zhí)行備份操作。
性能:Oracle是一個(gè)適用于大規(guī)模數(shù)據(jù)集和高并發(fā)性負(fù)載的數(shù)據(jù)庫(kù),而MySQL則更適合于存儲(chǔ)中小規(guī)模的數(shù)據(jù)和日常事務(wù)處理,因此在性能方面可能會(huì)有所不同。
編程語(yǔ)言支持:Oracle支持多種編程語(yǔ)言,包括PL/SQL、Java、C++等,而MySQL主要支持SQL語(yǔ)言。
安全性:Oracle數(shù)據(jù)庫(kù)通常具有更高的安全性能,例如支持SQL限制功能和審計(jì)日志,以確保安全性和合規(guī)性。而MySQL則相對(duì)較低,但是它也提供了一些安全功能,如用戶權(quán)限管理和加密傳輸?shù)取?/p>
社區(qū)支持:Oracle是一個(gè)知名的企業(yè)級(jí)數(shù)據(jù)庫(kù)管理系統(tǒng),擁有龐大的技術(shù)支持團(tuán)隊(duì)和社區(qū),可以提供豐富的技術(shù)文檔和在線資源。而MySQL則相對(duì)較小,但是也有一個(gè)活躍的社區(qū),可以提供一些基本的幫助和支持。
總之,Oracle和MySQL在很多方面都有不同之處,具體的區(qū)別包括規(guī)模、架構(gòu)、數(shù)據(jù)存儲(chǔ)、查詢語(yǔ)言、備份和恢復(fù)、性能、編程語(yǔ)言支持、安全性和社區(qū)支持等方面。在選擇使用哪個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng)時(shí),需要根據(jù)自己的需求和項(xiàng)目規(guī)模來(lái)做出最佳決策。
五、Oracle與MySQL的幾點(diǎn)區(qū)別?
它們有以下九大區(qū)別:
1. 開(kāi)發(fā)公司不同:MySQL由瑞典MySQL AB公司開(kāi)發(fā),后被Sun公司收購(gòu),現(xiàn)在是Oracle公司的產(chǎn)品之一;Oracle由Oracle公司開(kāi)發(fā)。
2. 數(shù)據(jù)庫(kù)大小限制不同:MySQL支持的數(shù)據(jù)庫(kù)大小通常較小,一般不超過(guò)2TB;而Oracle可以支持非常大的數(shù)據(jù)庫(kù),甚至可以超過(guò)100TB。
3. 數(shù)據(jù)庫(kù)性能不同:Oracle相對(duì)于MySQL來(lái)說(shuō)是更高性能的數(shù)據(jù)庫(kù),尤其是在處理大型企業(yè)級(jí)數(shù)據(jù)庫(kù)時(shí)。
4. 數(shù)據(jù)庫(kù)安全性不同:Oracle相對(duì)于MySQL來(lái)說(shuō)擁有更好的安全性,例如更完善的加密技術(shù)和訪問(wèn)控制機(jī)制等。
5. 數(shù)據(jù)復(fù)制和同步機(jī)制不同:MySQL擁有分布式數(shù)據(jù)庫(kù)的能力,因此在數(shù)據(jù)復(fù)制和同步方面較為便捷;而Oracle在這方面需要較為復(fù)雜的集群技術(shù)。
6. 數(shù)據(jù)庫(kù)備份和恢復(fù)機(jī)制不同:MySQL在備份和恢復(fù)方面較為簡(jiǎn)單,但是在處理大型數(shù)據(jù)庫(kù)時(shí)可能會(huì)出現(xiàn)問(wèn)題;而Oracle在這方面相對(duì)更為完善。
7. 數(shù)據(jù)庫(kù)價(jià)格不同:MySQL是一款開(kāi)源的數(shù)據(jù)庫(kù)管理系統(tǒng),因此可以免費(fèi)使用;而Oracle是一款商業(yè)數(shù)據(jù)庫(kù),需要付費(fèi)才能使用。
8. 數(shù)據(jù)庫(kù)功能不同:Oracle相對(duì)于MySQL擁有更多的高級(jí)功能,例如分區(qū)、數(shù)據(jù)挖掘和OLAP等。
9. 數(shù)據(jù)庫(kù)應(yīng)用領(lǐng)域不同:MySQL通常用于Web應(yīng)用程序、小型企業(yè)和中小型網(wǎng)站的開(kāi)發(fā);而Oracle則通常用于大型企業(yè)級(jí)應(yīng)用、數(shù)據(jù)倉(cāng)庫(kù)等高要求應(yīng)用場(chǎng)景
六、mysql與oracle九大區(qū)別?
MySQL和Oracle是兩種不同的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),它們有以下九大區(qū)別:
1. 開(kāi)發(fā)公司不同:MySQL由瑞典MySQL AB公司開(kāi)發(fā),后被Sun公司收購(gòu),現(xiàn)在是Oracle公司的產(chǎn)品之一;Oracle由Oracle公司開(kāi)發(fā)。
2. 數(shù)據(jù)庫(kù)大小限制不同:MySQL支持的數(shù)據(jù)庫(kù)大小通常較小,一般不超過(guò)2TB;而Oracle可以支持非常大的數(shù)據(jù)庫(kù),甚至可以超過(guò)100TB。
3. 數(shù)據(jù)庫(kù)性能不同:Oracle相對(duì)于MySQL來(lái)說(shuō)是更高性能的數(shù)據(jù)庫(kù),尤其是在處理大型企業(yè)級(jí)數(shù)據(jù)庫(kù)時(shí)。
4. 數(shù)據(jù)庫(kù)安全性不同:Oracle相對(duì)于MySQL來(lái)說(shuō)擁有更好的安全性,例如更完善的加密技術(shù)和訪問(wèn)控制機(jī)制等。
5. 數(shù)據(jù)復(fù)制和同步機(jī)制不同:MySQL擁有分布式數(shù)據(jù)庫(kù)的能力,因此在數(shù)據(jù)復(fù)制和同步方面較為便捷;而Oracle在這方面需要較為復(fù)雜的集群技術(shù)。
6. 數(shù)據(jù)庫(kù)備份和恢復(fù)機(jī)制不同:MySQL在備份和恢復(fù)方面較為簡(jiǎn)單,但是在處理大型數(shù)據(jù)庫(kù)時(shí)可能會(huì)出現(xiàn)問(wèn)題;而Oracle在這方面相對(duì)更為完善。
7. 數(shù)據(jù)庫(kù)價(jià)格不同:MySQL是一款開(kāi)源的數(shù)據(jù)庫(kù)管理系統(tǒng),因此可以免費(fèi)使用;而Oracle是一款商業(yè)數(shù)據(jù)庫(kù),需要付費(fèi)才能使用。
8. 數(shù)據(jù)庫(kù)功能不同:Oracle相對(duì)于MySQL擁有更多的高級(jí)功能,例如分區(qū)、數(shù)據(jù)挖掘和OLAP等。
9. 數(shù)據(jù)庫(kù)應(yīng)用領(lǐng)域不同:MySQL通常用于Web應(yīng)用程序、小型企業(yè)和中小型網(wǎng)站的開(kāi)發(fā);而Oracle則通常用于大型企業(yè)級(jí)應(yīng)用、數(shù)據(jù)倉(cāng)庫(kù)等高要求應(yīng)用場(chǎng)景。
七、Oracle與mysql各有什么優(yōu)缺點(diǎn)呢?
Oracle和MySQL都有各自的優(yōu)缺點(diǎn),具體內(nèi)容如下:
Oracle的優(yōu)缺點(diǎn):
優(yōu)點(diǎn)。性能高,保持開(kāi)放平臺(tái)下TPC-D和TPC-C世界記錄;多層次網(wǎng)絡(luò)計(jì)算支持多種工業(yè)標(biāo)準(zhǔn),如ODBC、JDBC、OCI等網(wǎng)絡(luò)客戶連接。
缺點(diǎn)。對(duì)硬件的要求很高;價(jià)格比較昂貴;管理維護(hù)麻煩一些;操作比較復(fù)雜,需要技術(shù)含量較高。
MySQL的優(yōu)缺點(diǎn):
優(yōu)點(diǎn)。體積小,速度快,總體擁有成本低,開(kāi)源;支持多種操作系統(tǒng);是開(kāi)源數(shù)據(jù)庫(kù),提供的接口支持多種語(yǔ)言連接操作;核心程序采用完全的多線程編程,能很容易充分利用CPU;有一個(gè)非常靈活而且安全的權(quán)限和口令系統(tǒng)。
缺點(diǎn)。不支持事務(wù)處理;在多表關(guān)聯(lián)操作時(shí),其性能低于Oracle等大型數(shù)據(jù)庫(kù);鎖定機(jī)制相對(duì)Oracle來(lái)說(shuō)不夠靈活。
八、如何實(shí)現(xiàn)mysql與oracle同步機(jī)制?
用JDBC就能實(shí)現(xiàn)
當(dāng)你要讀取數(shù)據(jù)時(shí) 先生成個(gè)MySQL的連接
然后Select 再生成個(gè)Oracle的連接 把rs弄到那個(gè)數(shù)據(jù)庫(kù)中去
同步的問(wèn)題
如果你用Spring的話 里面有事務(wù)處理
開(kāi)起個(gè)事務(wù)
tm.begin(); //tm是事務(wù)對(duì)象
把JDBC查詢Mysql 并插入Oracle數(shù)據(jù)的代碼
用try catch捕獲出來(lái)
在catch(Exception e)
{
tm.rollback();//事務(wù)回滾
}
應(yīng)該能夠保證同步吧 修改Mysql時(shí) 用主鍵 像樓上所有就行。
九、mysql與oracle字段
MySQL與Oracle字段的比較
在數(shù)據(jù)庫(kù)管理系統(tǒng)中,字段是數(shù)據(jù)庫(kù)表中的一個(gè)重要組成部分,用來(lái)存儲(chǔ)數(shù)據(jù)的特定屬性。MySQL和Oracle是兩種常用的關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng),在處理字段方面有許多相似之處,但也存在一些不同點(diǎn)。
字段類型
MySQL和Oracle都支持各種數(shù)據(jù)類型,如整型、字符型、日期型等。在MySQL中,常見(jiàn)的字段類型有INT、VARCHAR、DATE等;而在Oracle中,相應(yīng)的字段類型則是NUMBER、VARCHAR2、DATE等。需要注意的是,在Oracle中沒(méi)有TINYINT、MEDIUMINT等類型,這些類型在MySQL中比較常見(jiàn)。
數(shù)據(jù)長(zhǎng)度限制
在定義字段時(shí),通常需要指定數(shù)據(jù)的長(zhǎng)度限制。在MySQL中,可以使用例如VARCHAR(255)來(lái)定義一個(gè)長(zhǎng)度為255個(gè)字符的字符串類型字段;而在Oracle中,對(duì)應(yīng)的語(yǔ)法為VARCHAR2(255)。需要注意的是,Oracle中的VARCHAR2最大長(zhǎng)度為4000,而MySQL的VARCHAR最大長(zhǎng)度為65535。
默認(rèn)值
在定義字段時(shí),可以為字段設(shè)置默認(rèn)值。MySQL和Oracle都支持這一特性,在MySQL中可以使用DEFAULT關(guān)鍵字指定默認(rèn)值,而在Oracle中則使用DEFAULT關(guān)鍵字。例如,定義一個(gè)字段的默認(rèn)值為0,在MySQL中的語(yǔ)法為DEFAULT 0,在Oracle中的語(yǔ)法為DEFAULT '0'。
自增長(zhǎng)
自增長(zhǎng)字段是一個(gè)在插入新記錄時(shí)自動(dòng)遞增的字段。在MySQL中,可以通過(guò)設(shè)置字段的屬性為AUTO_INCREMENT來(lái)實(shí)現(xiàn)自增長(zhǎng),而在Oracle中則需要使用序列和觸發(fā)器來(lái)模擬自增長(zhǎng)的功能。MySQL中的自增長(zhǎng)功能更為簡(jiǎn)單和直接。
索引
索引是提高查詢效率的關(guān)鍵,MySQL和Oracle都支持在字段上創(chuàng)建索引。在MySQL中,可以使用例如CREATE INDEX語(yǔ)句來(lái)創(chuàng)建索引;而在Oracle中,則可以使用CREATE INDEX語(yǔ)句創(chuàng)建索引。需要注意的是,Oracle中的索引類型更豐富,支持B樹(shù)索引、哈希索引等多種類型。
約束
約束是對(duì)字段值的限制條件,用于保證數(shù)據(jù)完整性和一致性。MySQL和Oracle都支持約束的設(shè)置,如主鍵約束、外鍵約束、唯一約束等。在MySQL中,可以在定義字段時(shí)直接添加約束,而在Oracle中,則需要使用ALTER TABLE語(yǔ)句來(lái)添加約束。
空值處理
空值是指字段中沒(méi)有實(shí)際數(shù)值的情況,在數(shù)據(jù)庫(kù)中的處理較為重要。在MySQL中,默認(rèn)情況下允許字段為空,可以通過(guò)設(shè)置字段的NULL或NOT NULL屬性來(lái)控制字段是否允許為空;而在Oracle中,默認(rèn)情況下字段是不允許為空的,需要顯式指定字段為NULL或NOT NULL。
數(shù)據(jù)類型轉(zhuǎn)換
在實(shí)際應(yīng)用中,有時(shí)需要對(duì)字段數(shù)據(jù)類型進(jìn)行轉(zhuǎn)換。在MySQL中,可以使用CAST()函數(shù)來(lái)實(shí)現(xiàn)數(shù)據(jù)類型轉(zhuǎn)換;而在Oracle中,可以使用TO_CHAR()、TO_NUMBER()等函數(shù)進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換。需要根據(jù)具體情況來(lái)選擇合適的轉(zhuǎn)換方法。
字段命名規(guī)范
良好的字段命名規(guī)范是數(shù)據(jù)庫(kù)設(shè)計(jì)的重要組成部分。在MySQL和Oracle中,字段命名推薦使用有意義的名詞和小寫字母,多個(gè)單詞之間可以使用下劃線(_)或駝峰命名法進(jìn)行連接。需要避免使用關(guān)鍵字和特殊字符作為字段名。
總結(jié)
綜上所述,MySQL與Oracle在字段的定義和使用上有很多相似之處,但也存在一些細(xì)微差別。在實(shí)際應(yīng)用中,需要根據(jù)數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)和業(yè)務(wù)需求來(lái)選擇合適的字段類型、長(zhǎng)度限制、默認(rèn)值等設(shè)置,以確保數(shù)據(jù)庫(kù)的性能和數(shù)據(jù)完整性。
十、oracle和mysql的區(qū)別?
1、mysql與oracle都是關(guān)系型數(shù)據(jù)庫(kù),應(yīng)用于各種平臺(tái)。
mysql開(kāi)源免費(fèi)的,而oracle則是收費(fèi)的,并且價(jià)格非常高。
2、管理工具上
mysql的管理工具較少,在Linux下的管理工具的安裝有時(shí)需要安裝額外的包(phpmyadmin,etc),有一定復(fù)雜性。
oracle有多重成熟命令行、圖形界面、web管理工具,還有很多第三方的管理工具,管理極其方便高效。oracle支持大并發(fā),大訪問(wèn)量,是OLTP最好的工具。
3、數(shù)據(jù)庫(kù)的層次結(jié)構(gòu)上
mysql:默認(rèn)用戶是root,用戶下可以創(chuàng)建好多數(shù)據(jù)庫(kù),每個(gè)數(shù)據(jù)庫(kù)下還有好多表,一般情況下都是使用默認(rèn)用戶,不會(huì)創(chuàng)建多個(gè)用戶;
oracle:創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)下有好多用戶:sys、system、scott等,不同用戶下有好多表,一般情況下只創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)用。
4、數(shù)據(jù)庫(kù)中表字段類型:
mysql:int、float、double等數(shù)值型,varchar、char字符型,date、datetime、time、year、timestamp等日期型。
oracle:number(數(shù)值型),varchar2、varchar、char(字符型),date(日期型)等…
5、主鍵
mysql一般使用自動(dòng)增長(zhǎng)類型,在創(chuàng)建表時(shí)只要指定表的主鍵auto increment,插入記錄時(shí),不需要再指定該記錄的主鍵值,mysql將自動(dòng)增長(zhǎng)。
oracle沒(méi)有自動(dòng)增長(zhǎng)類型,主鍵一般使用的序列,插入記錄時(shí)將序列號(hào)的下一個(gè)值賦給該字段即可,只是ORM框架是只要是native主鍵生成策略即可。
6、單引號(hào)處理
mysql里可以用雙引號(hào)包起字符串,oracle只可以用單引號(hào)包起字符串。
7、查詢方式
mysql是直接在SQL語(yǔ)句中使用limit就可以實(shí)現(xiàn)分頁(yè)
oracle則是需要用到偽劣ROWNUM和嵌套查詢
8、對(duì)事務(wù)提交
mysql默認(rèn)是自動(dòng)提交,可以修改為手動(dòng)提交
oracle默認(rèn)不自動(dòng)提交,需要手動(dòng)提交,需要在寫commit指令或點(diǎn)擊commit按鈕。
9、對(duì)事務(wù)的支持
mysql在innodb存儲(chǔ)引擎的夯機(jī)所的情況下才支持事務(wù)
oracle則完全支持事務(wù)。
10、事務(wù)隔離級(jí)別:
mysql是read commited的隔離級(jí)別
而oracle是repeatable read的隔離級(jí)別
同時(shí)二者都支持serializable串行化事務(wù)隔離級(jí)別,可以實(shí)現(xiàn)最高級(jí)別的讀一致性。每個(gè)session提交后其它session才能看到提交的更改;
11、并發(fā)性:
mysql以表級(jí)鎖為主,對(duì)資源鎖定的粒度很大,如果一個(gè)session對(duì)一個(gè)表加鎖時(shí)間過(guò)長(zhǎng),會(huì)讓其他session無(wú)法更新此表中的數(shù)據(jù)。
oracle使用行級(jí)鎖,對(duì)資源鎖定的粒度要小很多,只是鎖定sql需要的資源,并且加鎖是在數(shù)據(jù)庫(kù)中的數(shù)據(jù)行上,不依賴于索引,所以oracle對(duì)并發(fā)性的支持要好很多。
12、邏輯備份
mysql邏輯備份時(shí)要鎖定數(shù)據(jù),才能保證備份的數(shù)據(jù)是一致的,影響業(yè)務(wù)正常的dml使用
oracle邏輯備份時(shí)不鎖定數(shù)據(jù),且備份的數(shù)據(jù)是一致的。
13、復(fù)制
mysql:復(fù)制服務(wù)器配置很簡(jiǎn)單,但主庫(kù)出問(wèn)題時(shí),從庫(kù)可能丟失一定的數(shù)據(jù),且需要手工切換從庫(kù)到主庫(kù);
oracle:既有堆或拉式的傳統(tǒng)數(shù)據(jù)復(fù)制,也有dataguard的雙機(jī)或多機(jī)容災(zāi)機(jī)制,主庫(kù)出問(wèn)題時(shí),可以自動(dòng)切換備庫(kù)到主庫(kù),但配置管理較復(fù)雜。
14、性能診斷
mysql的診斷調(diào)優(yōu)方法較少,主要有慢查詢?nèi)罩荆?/p>
oracle有各種成熟的性能診斷調(diào)優(yōu)工具,能實(shí)現(xiàn)很多自動(dòng)分析、診斷功能。比如awr、addm、sqltrace、tkproof等。
15、日期轉(zhuǎn)換
mysql中日期轉(zhuǎn)換用dateformat()函數(shù);
oracle用to_date()與to_char()兩個(gè)函數(shù)。