如果需要從Oracle遷移到MS SQLServer (1)
MS SQLServer與Oracle,兩種RDBMS都是關聯式資料庫的佼佼者。但請注意:都是關聯式資料庫、但有質的不同!
首先,體系結構方面的差異,可能是最大的。Oracle一般執行在UNIX,如AIX、HP-UX中,MS SQLServer則執行在Windows環境下。Oracle在UNIX上採取了程式結構,而MS SQL則是執行緒結構!
其次,那些用來描述 Oracle術語,在 MS SQL Server 中則含義可能完全不同。Oracle就沒有“資料庫”這個概念,而MS SQL中資料庫則是最重要的後設資料型別。
第三,Oracle 和 SQL Server 都支援標準ANSI92的SQL,但又各自有著基於SQL-92 的擴充套件。這給應用系統在二者之間的遷移帶來巨大的麻煩,孰之過?
第四,從應用開發人員角度看,Oracle 和 MS SQLServer在管理資料的方式是相似的。但是實際上起內部儲存結構差異明顯。如果管理不當,應用程式遷移後的效能影響、正確性恐怕很大。
第五,出於開發上的考慮,開發人員為了遷移上的便利,僅使用標準的SQL-92 SQL 語言標準,禁用每種 RDBMS 提供的擴充套件,以使其程式程式碼儘可能通用。效率呢?Oracle 和 SQL Server各自的優化特點蕩然無存,效率特色無從談起!
例如,Oracle 的 DECODE 函式是 Oracle 特有產物,可對應MS SQL Server 的 CASE 表示式。他們都不是SQL-92 裡面的內容,不使用之,則只能以其他程式設計方式實現,但可能意味著RDBMS上更多的資料操作。
第六,SQL 語言的過程化嵌入也不同。Oracle 使用PL/SQL,MS SQL Server 使用T-SQL 語言。其功能是相似的,但其語法還真是各有不同。因此,應用遷移中我們可能不得不放棄使用部分儲存程式、觸發器。有時,有些功能無法替代!
第七,應用開發中難免使用專用的開發介面,如 Oracle 的OCI(Oracle 呼叫介面)轉換程式,或MS SQL Server 的db_lib介面。為了通用而不得不使用開放式資料庫連線 (ODBC) 介面,往往是應用系統的效能殺手!
待續...
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22363020/viewspace-623086/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如果需要從Oracle遷移到MS SQLServer (2)OracleSQLServer
- (原)將Oracle遷移到SQLServerOracleSQLServer
- 【遷移】SqlServer 遷移到 MySQL 方法ServerMySql
- 將表 從mysql 遷移到oracleMySqlOracle
- 從Perforce遷移到GitGit
- 將應用程式從Sql Server遷移到OracleSQLServerOracle
- 從eclipse遷移到idea(1 安裝篇)EclipseIdea
- 從 webpack v1 遷移到 webpack v2Web
- 從 golang flag 遷移到 cmdrGolang
- 從 Nginx 遷移到 Envoy ProxyNginx
- 平安科技從 Oracle 遷移到 UbiSQL 的實踐OracleSQL
- Oracle11g使用rman從rac遷移到racOracle
- Mysql遷移到Oracle前需要了解的50件事MySqlOracle
- 從Oracle遷移到MySQL的各種坑及自救方案OracleMySql
- [譯]從 SQLite 逐步遷移到 RoomSQLiteOOM
- 從mpvue遷移到uni-appVueAPP
- EF Core從TPH遷移到TPT
- [譯] 從 SQLite 逐步遷移到 RoomSQLiteOOM
- Linode從Xen遷移到KVM
- 從 webpack v1 遷移到 webpack v2 新特性Web
- Oracle11g使用rman從單例項遷移到racOracle單例
- 應用程式的資料庫從Sql Server遷移到Oracle資料庫SQLServerOracle
- 將OPEN BRAVO資料庫從oracle 遷移到DB2資料庫OracleDB2
- Oracle 資料遷移(從Oracle11G高版本遷移到Oracle10G低版本)Oracle
- Azure VM從ASM遷移到ARM(二)ASM
- Azure VM從ASM遷移到ARM(一)ASM
- PayPal從Java遷移到Node.jsJavaNode.js
- 從SpringMVC遷移到SpringbootSpringMVCSpring Boot
- Oracle DataBase單例項遷移到Oracle RACOracleDatabase單例
- 從Oracle遷移到Mysql之前必須知道的50件事OracleMySql
- 將SAP 後臺資料庫從DB2 遷移到ORACLE資料庫DB2Oracle
- 記一次MySQL資料遷移到SQLServer全過程MySqlServer
- 使用DynamoShake從dynamodb遷移到mongodbMongoDB
- 從檔案系統遷移到ASM上ASM
- oralce 從檔案系統遷移到ASMASM
- 你的資料庫真的需要遷移到雲嗎?資料庫
- Oracle從Windows 11.2.0.1升級並遷移到Linux 19cOracleWindowsLinux
- oracle將控制檔案從裸裝置遷移到檔案系統Oracle