2. Oracle不支持偏移(偏移)语法。

3. Oracle的复制功能可能比MySQL更加健壮,不过也更加难以配置。

4.对于多个Master类型的系统,大部分用户都希望你使用更加复杂也更加昂贵的Oracle RAC(虽然可能NDB更加健壮)。

5. Oracle的分区功能非常健壮,但是它不是内置的,并需要专门为此付费(分区功能是在Enterprise Edition里面是内置的)。

6.在Linux / Unix上,Oracle并不象Mysql那么方便,很多Linux / Unix发行版默认就会自带Mysql。(我对这一点的理解与翻译可能都有偏差)7。INSERT

... ON DUPLICATE KEY UPDATE语法将不再可用,不过你需要学习更加复杂(但是符合SQL标准)的MERGE语法。

8. Oracle的ROLE架构与MySQL有很大差异,无法再使用root角色来完整所有工作。(不过Sys用户的权限仍然与root相差无几,只是为了安全着想,不建议这么使用了)。

9.角色帐户与特定的Schema联系在一起(反之也一样),类似于MySQL数据库中的数据库概念。(角色并不完全与Schema联系在一起,系统有一些固定的角色,这些角色包含部分已经定义好的权限集(privilege set),也可以再自定义部分新的角色)。

10.事实上,丢弃一切已知的关于连接访问的设置吧,Oracle使用一套全新的系统来处理连接访问。

11.支持全文搜索,不过语法完全不同。

12. Oracle的文档非常丰富,不过,如果需要Oracle的专业服务,你需要拥有Metalink的访问权限。

13.在非数据库社区很难找到相关的支持信息(例如,PHP论坛或者网站开发者的网志)

14。自增功能可以通过Trigger与sequ​​ence对象来实现。

15.大量日常熟悉的SHOW命令将不再可用,想要获取系统信息,需要你学习Oracle的数据字典(或信息Schema),深入一点的还需要学习Oracle动态性能。

16. MySQL为信息Schema添加了多个非标准的扩展,在Oracle中将很难找到这些信息。

17.为了管理好生产系统与非生产系统的的转入转出,需要你深入理解Oracle的授权规则。

18.大体上讲,Oracle的数值类型更加简单,如果你确实需要类似于MySQL的多粒度的数值类型,就需要你自己来实现它,或者通过制定不同的精度(Number(n,x))来实现。

19.在Oracle中,表可以做到无限制的增长,但是大部分情况下,都建议通过表空间(tablespace)来对此作细粒度的管理。

20. Oracle不支持ALTER TABLE ADD COLUMN BEFORE | AFTER,也就是不支持自己制定字段的位置。(我们这边之前有部分应用对字段顺序有严格地要求,不过,从理论上讲,这是业务设计的问题,主要是其大部分情况下都是使用select *或者插入表

值来处理数据,而不是在选择,插入中指定具体需要处理的字段名列表)。

21.如果你习惯于通过图形界面(GUI)来管理数据库,你一定会喜欢上Oracle,但是如果你倾向于使用类似与Mysql命令行的客户端,你可能会对sql * plus这个客户端工具感到失望(需要一个习惯的过程,在SQL * Plus还是蛮好用的)。

22. Oracle的数据校验比Mysql更加严格,依赖于MySQL的模糊规则可能会导致应用无法运行.MySQL接受“0000-00-00”来作为日期类型的值就是个典型的例子。

23.虽然Oracle的PL / SQL功能更强,但是它不支持标准的PSM语言来编写存储过程,因此你可能不得不学习它的非标准的语法。

24. Oracle不支持ENUM数据类型,只能通过使用基于文本的check约束或者创建外键关联表来实现。

25. Mysql的一些更加神秘的表类型(例如,blackhole,csv),在Oracle中找不到相对应的功能。(不清楚blockhole是何种类型,不过Oracle的外部表(外部表)确实是支持csv格式的,在11g版本中还支持对此文件的压缩/加密以及其他处理)。

26. Oracle中的Group By语句必须是确定的,它需要从列句中选择列出中出现的所有列都必须包含在group中。

27. Oracle的exp命令输出的dmp文件无法象Mysql的转储文件一样可以手工修改。

28. Oracle的底层实现有较大变化,需要你学习UNDO与REDO段,归档,以及DBWR进程。(个人认为甲骨文相对于其他数据库的主要的优势可能就是其撤消/重做的设计了。)

29. Oracle不是开源软件,因此你无法在上面进行修补/优化/修复/实现你自己的东西。

Robert Hodges

30. Oracle的查询优化是一件需要专家介入的工作。它的优化器比MySQL的要成熟的多,这意味着查询计划也相应的更加难以解释。如果你有一个大的应用,请准备好聘用一位了解如何有效进行此项工作的伙计。

31. Oracle的基于成本的优化器的有效运行需要精确的统计信息。对于发生变化的表,需要定期的为其收集统计信息。批量数据加载进程也需要在处理过程中不时的执行估算/计算统计命令来收集统计信息以取得满意的性能。

32.在Oracle中,创建连接是个代价高昂的操作。性能良好的Oracle应用都倾向于使用连接池来最小化登陆的开销。

33. Oracle应用需要应用准备好的声明以获取可观的性能。如果你的应用不使用prepared statement的话,需要对应用进行调整。这是应用Oracle数据库的标准编程实践。(此处的预备声明应该更多的是指使用绑定变量)。

34.应用需要关闭结果集游标,否则很快就会遇到着名的“ORA-01000太多打开游标”错误。在Oracle中,这被认为是一个用户错误,需要你去调整你的代码。

35.繁忙系统上的长查询可能会遇到“ORA-01555快照太旧”错误。可以通过调整redo段的大小(有时通过调整应用)来消除此错误,但是还是需要你关注这一点。处的重做段的表述是有点问题,此处应该是撤消表空间以及对应的撤消

保留,Oracle没有所谓的重做段的说法)。

36. Oracle没有类似于非事务表的概念。大部分Oracle用户都认可这一点。

37. Oracle的临时表定义是持久的SQL对象,并且对所有用户都可见(此处应该理解成以此用户登陆的会话,Session)。这一点与MySQL中使用的轻量级表有区别,在MySQL的中,临时表是在单个会话内创建并销毁的。

Denish Patel

38.在Oracle中,多个Alter Table操作不能在同一个SQL语句中执行,例如alter table emp modify name varchar(64)not null,add gender char(1)not null;

39.默认情况下,Oracle不会自动提交。

40. KILL命令在Oracle中无效,它使用alter system kill命令。(不清楚第一个kill是什么概念,操作系统级别的kill,Oracle还是支持的,我经常使用)。

41. Oracle在语句中不支持使用减号( - )。(不清楚这个具体的减号是什么东西)。

42. Oracle的sqlplus命令行接口不支持高亮显示。

罗兰布曼

43. Oracle不支持group_concat或者类似的分组函数。需要你通过循环调取游标来实现,或者通过组合XMLAGG与XMLQUERY来实现你需要的查询。(在Oracle 9R2之后,可以使用自定义聚合函数来实现这个功能,到Oracle 11gR1之后,Oracle自己还提供了一个新的listagg分组函数来实现这个功能)。

44.对于count(distinct expression)函数,Oracle只支持一个表达式(要么一个列名,要么*),而Mysql支持一组表达式。(在甲骨文中要实现一组表达式,可以通过使用子查询来实现)。

45. Oracle对子查询的支持非常好。不要因为Mysql中的习惯而不去使用它。

46. Oracle不支持用户变量(@num)。如果你需要利用它来计算运行时总和,可以利用分析函数(窗口函数)来实现。如果用户户变量来实现特定的汇总函数功能,你将发现Oracle已经有内置得功能支持这些功能。(另外在甲骨文中,可以通过在封装中应用DBMS_SESSION来设置上下文以实现用户变量)。

47. Oracle没有区分TIME与DATE类型,Oracle的日期类型实际上就是一个DATETIME类型(但是比MySQL支持一个更大的日期范围)。

48.相对于MySQL来讲,Oracle的存储过程与触发器功能与性能都要好很多。不要习惯性地不去使用它们。

49.如果需要在Oracle中编写存储过程,记得在开始编码前花点时间了解下。你将发现大部分问题已经解决掉了,或者至少大量的基础代码已经在那儿了。

50如果你在MySQL中有使用BLOB类型或者TEXT类型,你可能会将他们迁移到Oracle地图BLOB与CLOB中。然而,与MySQL不同,Oracle并不是透明地实体化这些数据。在大部分情况下,这确实是件好事情,但是它也意味着如果你只是想把BLOB / CLOB当作文本处理,你将需要花费大量琐碎的时间来使用LOB函数,在使用之初,LOB函数还是蛮让人气馁的(LOB相关函数确实挺烦人,LOB的处理效率也非常差,即使是使用Oracle

11g的SecureFile)。

sql server oracle特点,SQL Server 和 Oracle 以及 MySQL 有哪些区别相关推荐

  1. Oracle\MS SQL Server的数据库多表关联更新UPDATE与多表更新

    一条Update更新语句是不能更新多张表的,除非使用触发器隐含更新.而表的更新操作中,在很多情况下需要在表达式中引用要更新的表以外的数据.我们先来讨论根据其他表数据更新你要更新的表 一.MS    S ...

  2. Oracle 与SQL Server 2000常用函数对照 [摘抄]

    此文章系摘抄,非原创,供参考. 文中提及函数并非Oracle及SQL Server 的全部功能,尤其分析挖掘函数,并未完全涵盖,请以实际解决问题优先,勿妄谈二者优劣. 1.绝对值 S:select a ...

  3. Oracle、SQL Server、MySQL分页方法

    测试用例:查询TEST_TABLE表中TEST_COLUMN列的第10-20条数据 1,Oracle分页方法 [sql] view plain copy   SELECT A.* FROM ( SEL ...

  4. [转帖]oracle改版sql server问题点汇总

    https://www.cnblogs.com/zhangdk/p/oracle_sqlserver.html 只记得 最开始的时候看过 没有具体的了解里面的特点 原作者总结的很好 留下来 以后说不定 ...

  5. Oracle和sql server中复制表结构和表数据的sql语句

    在Oracle和sql server中,如何从一个已知的旧表,来复制新生成一个新的表,如果要复制旧表结构和表数据,对应的sql语句该如何写呢?刚好阿堂这两天用到了,就顺便把它收集汇总一下,供朋友们参考 ...

  6. SQL比oracle卡,对比Oracle与SQL Server

    尽管Oracle和SQL Server的定位都是企业级的数据库产品,但是用过它们的DBA应该都知道,Oracle相比于微软数据库平台,在高级特性方面的优势还是挺明显的.特别是数据库高可用性以及安全性上 ...

  7. linux python连接oracle数据库_Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法...

    本文档主要描述了Linux下python数据库驱动的安装和配置,用来实现在Linux平台下通过python访问MySQL.Oracle.SQL Server数据库. 其中包括以下几个软件的安装及配置: ...

  8. sql数据迁移到oracle数据库,从Oracle到SQL Server数据库主键的迁移

    由于项目需要要将以前Oracle的数据库转化为SQL Server,今天利用SQL Server的DTD进行数据库的迁移,但导入以后发现只导入了表结构和数据,而表的一些主键约束都没导过来,感觉很郁闷, ...

  9. server数据库与oracle,浅析Oracle和SQL Server-数据库专栏,ORACLE

    t-sql是sql server的语言引擎,而oracle的语言引擎却是plsql.这两种查询语言都对ansi sql-92标准进行了扩展以提供额外的支持力度.你所创建的应用程序几乎都要用到这些补充特 ...

  10. db2 mysql sql server_连接数据库的方法(Oracle DB2 SQL Server MySQL...)

    [java]代码库import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; /* ...

最新文章

  1. 自学java的注意,自学Java开发注意事项
  2. python3.7如何使用enum_Python3.4 枚举类型的使用
  3. java三目运算符嵌套_替代JS中的嵌套三元运算符
  4. 计算一段代码执行完毕用时问题
  5. java并发编程-volatile内存实现和原理
  6. 取消Eclipse的自动代码格式化
  7. 图片上传功能(EasyUI前台框架+SSM框架)
  8. webpack5学习与实战-(六)-babel-loader解析js文件
  9. html5音乐播放器格式midi,HTML5 Audio时代的MIDI音乐文件播放
  10. 20sccm_sccm是什么单位-简短介绍
  11. TPS54231DR IC REG BUCK ADJUSTABLE 2A 8SOIC
  12. 泛型方法的定义与使用
  13. html 淡出淡入轮播图,用CSS3 transition属性实现淡入淡出轮播图
  14. 啊!啊!啊!IEEE754移码偏移值的127!
  15. 【ZZULIOJ】 Python 1016: 银行利率
  16. 计算机病毒14款应用,14款游戏类APP隐私不合规:和平精英、开心消消乐等
  17. 他们用折纸解决了两个数学难题,还折出了天文望远镜!!
  18. 微软上海 C+AI 部分组已“开奖”!
  19. Ubuntu+ visual studio + visualGdb
  20. 网站VI设计之VI设计的误区

热门文章

  1. pycharm如何解决新建的文件没有后缀的问题
  2. 【干货】华为-智能世界2030:构建万物互联的智能世界
  3. 【实践】美团外卖广告智能算力的探索与实践
  4. 【报告分享】2020年中国在线教育创新企业榜单.pdf(附下载链接)
  5. tensorboard 1.14.0 has requirement setuptools>=41.0.0, but you‘ll have setuptools 40.2.0
  6. windows桌面远程连接ubuntu xrdp成功显示
  7. 算法“视”界杯上演十强争锋,大赛终极一战圆满落幕
  8. 吴恩达深度学习之一《神经网络和深度学习》学习笔记
  9. 加快Linux上yum下载安装包的速度(以CentOS 7,安装gcc为例)
  10. Leetcode每日一题:175.组合两个表