在部署很多数据库应用时,往往涉及到数据库之间的迁移,当迁移时,我们玩玩会抱怨,要做很多修改,比如说我们从数据库A迁移到数据库B,我们往往会抱怨说:B数据库没有A好。其实不然,并不是哪个数据库好,哪个数据库不好,不同环境下的迁移,大幅的修改是正常的。只是不同数据库的工作机制和开发模型不同罢了。

大部分数据库,比如SQL server 和sybase,采用了阻塞读机制(读会被写阻塞),在阻塞读系统中,当INSERT数据时,表的插入要串行完成。当两个用户试图在插入自己的行,然后读对方的数据时,就有可能死锁。

如果把这个应用移植到Oracle中,就不会发生死锁。Oracle提供的是非阻塞读操作机制。

再比如,对于NULL,SQL为了遵循ANSI SQL,存在三值逻辑问题,当一个字段x与NULL比较时,x是未知的unkown,在ORACLE中,NULL与NULL既不相等,也不完全不相等。在SYBASE和SQL中,NULL就是等于NULL。

另外,我们经常在SQL Server中很多人在存储过程中定义临时表,在ORACLE中则不推荐,在ORACLE中创建临时表,会存在很多问题:

DDL操作会阻碍可扩缩行;DDL操作的速度不快;DDL操作会提交事务;必须在所有存储过程中使用动态SQL而不是静态SQL来访问这个表;动态SQL没有静态SQL快(没有基于动态的优化)。

转载于:https://www.cnblogs.com/jayceauyeung/archive/2013/02/17/2913924.html

不同数据库之间的独立性相关推荐

  1. 请说明数据库系统如何实现数据和程序之间的独立性。

    数据库的三级模式中提供了两层映像:外模式/模式,内模式/模式映像,分别为数据库系统实现数据和程序之间的独立性提供了保证. 1.逻辑独立性:用外模式/模式的映像 保证了数据的逻辑独立性,将由概念模式变化 ...

  2. SQL 利用merge 同步数据库之间表的数据

    同步两个数据库之间两表的数据也许的数据库管理员偶尔需要做的一件事情,下面来记录一下常用的两种方法: 方法一:使用delete.truncate 方法二:使用 merge into  ,Merge是在S ...

  3. [转载]在SQL Server数据库之间进行数据导入导出,OPENDATASOURCE

    需要在c盘下先建立一个data.txt文件,然后在文件的第一行写上你要导出的列,不如说要导出id和name这两列,就在第一行写上 id,name 然后保存,使用下列SQL就可以了,你如果要保持原有的I ...

  4. 使用多态来实现数据库之间的切换

    1.一般数据库之间的转换时这样实现的 static void Main(string[] args){//必须引入System.Data程序集string connectionString = Con ...

  5. AI:几张图理清人工智能与机器学习、知识发现、数据挖掘、统计学、模式识别、神经计算学、数据库之间的暧昧关系

    AI:几张图理清人工智能与机器学习.知识发现.数据挖掘.统计学.模式识别.神经计算学.数据库之间的暧昧关系 目录 几张图理清人工智能与机器学习.知识发现.数据挖掘.统计学.模式识别.神经计算学.数据库 ...

  6. mysql 迭代更新_MySQL、MongoDB、Redis 数据库之间的区别与使用(本章迭代更新)

    MySQL.MongoDB.Redis 数据库之间的区别与使用 MySQL.MongoDB.Redis 数据库之间的区别与使用(本章迭代更新) update:2019年2月20日 15:21:19(本 ...

  7. python与excel互通_【python】python vs Excel ( 与mysql数据库之间的交互)

    [python]python vs Excel ( 与mysql数据库之间的交互) 通过python与mysql数据库做交互 到目前为止大部分案例的演示数据都是基于文件进行读取的.那么python如何 ...

  8. 如何实现Oracle数据库之间的数据同步?

    我们都知道,在Oracle数据库的管理与开发工作中,总会存在着一些表数据和基础资料数据,这时需要有效的将这些数据库进行同步合并,有没有什么简单的方法可以实现Oracle数据库之间的数据同步呢?在此诚恺 ...

  9. 如何实现两个数据库之间的同步

    两台服务器分别架在两个不同的机房,要实现所有表中数据的同步,延时一两分钟没关系,数据库数据量很大,表大概有不到一百个吧,怎么实现同步?不同服务器数据库之间的数据操作--创建链接服务器 execsp_a ...

  10. 在SQL Server数据库之间进行数据导入导出

    来源:http://kb.cnblogs.com/page/94464/ 在SQL Server数据库之间进行数据导入导出 (1).使用SELECT INTO导出数据 在SQL Server中使用最广 ...

最新文章

  1. tensorflow创建张量
  2. Payment Spring Boot 1.0.2.RELEASE 发布,接入微信支付分、先享卡功能
  3. css布局中的百分比布局
  4. pb 哪里找到系统图标_win10电脑桌面上“回收站”和“此电脑”图标不见了怎么办...
  5. 表的插入、更新、删除、合并操作_17_按照条件删除表中记录
  6. xyCMS框架的webshell
  7. 使用FormData进行Ajax请求上传文件
  8. 50个数据可视化最有价值的图表(附完整Python代码,建议收藏
  9. 数组 this.setData快捷赋值
  10. Linux IPC实践(12) --System V信号量(2)
  11. 笨方法“学习python笔记之数学计算
  12. centos7 Samba服务安装和配置
  13. 日期操作类--Date类
  14. nginx源码准备 - Linux C++网络编程(五)
  15. 天翼云服务器80、443等特殊端口无法访问原因记录
  16. 实变函数自制笔记9:勒贝格积分的极限定理
  17. Python爬取小猪短租全网数据
  18. 同一个元素绑定多个onclick事件
  19. Java中Properties类的使用
  20. spool off参数详解

热门文章

  1. 联通沃云服务器型号,云服务器
  2. php给网页加水印_php实现给一张图片加上水印效果
  3. 鸿蒙系统自主研发,华为鸿蒙OS系统规划曝光,原来国产自主研发系统已经如此强大...
  4. phalcon index.php,除了Phalcon php中的indexAction之外,无法调用indexController的动作
  5. springboot的学习笔记,这个很重要
  6. 计算机/程序员常用英语(持续添加,包括一些简写)
  7. vue之生命周期(beforeCreate,created,beforeMount,mounted,beforeUpdate,updated)
  8. 10)Thymeleaf 标记选择器语法
  9. php算法结构,PHP中常用算法以及数据结构
  10. 小D课堂 - 零基础入门SpringBoot2.X到实战_汇总