Oracle与SQL Server等数据库的区别
Oracle与SQL Server等数据库的区别
在Oracle中提倡使用一个连接
Oracle处理多个并发语句使用一个连接,大大提升系统能支持的并发量
Oracle运行在32为单进程平台上SGA和PGA最多只能使用2GB内存,多进程平台上SGA最多使用2GB内存,每个PGA也能使用2GB内存,这是Oracle使用Windows平台时需要运行在Data Center版本的Windows系统上的原因
使用绑定变量而不是字面量
Oracle使用绑定变量有两个好处
实现sql的软解析
相比与硬解析,解析结果更能得到重用,如果硬解析太多的话,共享池会清理掉一些其他的解析结果导致下次运行是重新解析。执行的解析越多,对共享池的闩竞争就越厉害,等待的队列越长,时间越久。
能防止sql注入
如果使用绑定变量,就不会遭遇SQL注入攻击
锁机制
Oracle只在修改时才对数据加行级锁
如果只是读数据,Oracle绝对不会加锁
Oracle写操作不会阻塞读操作
Oracle需要修改已锁定的数据时会被阻塞
防止更新丢失
Oracle可以使用读锁for update锁定资源实现串行化
for update不会阻塞读操作
多版本控制
Oracle使用多版本、读一致实现并发模型
读一致查询:对于一个给定的时间点(as of从句后面可以使用系统提交号SCN或者时间点,读undo日志数据或者归档日志实现),查询会产生一致的结果
非阻塞查询:查询的会话不会被写入会话阻塞
根据多版本读一致特性可以预知insert into t select * from t插入的数据集
Oracle数据库不会对列完全为null的数据创建索引
Select * from t where (x = l_v or (x is null and l_v is null))不会用到索引
可以创建函数索引将null值转化为没有意义的其他值
Oracle与SQL Server等数据库的区别的更多相关文章
- Oracle,Mysql ,SQL Server 三大数据库带参数的模糊查询, 拼接查询条件问题
最近项目开发一直在不断切换数据库,有时候一条sql 要同时考虑多种数据库中的兼容问题 , 先总结一条模糊查询拼接查询条件的问题,后续追加总结. 目前使用 mybatis: 1. Oracle 中使 ...
- Oracle和SQL server查询数据库中表的创建和最后修改时间
有时候我们需要查看下数据数据库中表的创建时间和最后修改时间,可以通过以下语句实现: Oracle数据库 -- 查看当前用户下的表 SELECT * FROM USER_TABLES -- 查看数据库中 ...
- Spring连接MySQL、Oracle和SQL Server的数据库运动连接属性
在配置文件applicationContext.xml设置如下:<?xml version="1.0" encoding="UTF-8"?>< ...
- oracle,mysql,sql server三大数据库的事务隔离级别查看方法
1:mysql的事务隔离级别查看方法 mysql 最简单,执行这条语句就行:select @@tx_isolation 详情: 1.查看当前会话隔离级别 select @@tx_isolation; ...
- ORACLE与SQL SERVER语法区别
一.数据类型 ORACLE与SQL SERVER在数据类型的对比如下: SQL SERVER ORACLE 数字类型 DECIMAL[(P[, S])] NUMBER[(P[, S])] NUMERI ...
- 对Oracle 、SQL Server、MySQL、PostgreSQL数据库优缺点分析
对Oracle .SQL Server.MySQL.PostgreSQL数据库优缺点分析 Oracle Database Oracle Database,又名Oracle RDBMS,或简称Oracl ...
- oracle跟SQL Server 2005 的区别
Oracle与Sql server的区别 一直搞不明白Oracle数据库和sql server的区别,今天我特意查资料把他们的区别整理出来 Oracle数据库:Oracle Database,又名 ...
- Oracle 和SQL Server 中的SQL语句使用区别
最近开始接触Oracle,想要了解下同SQL Server使用时的区别.搜寻网上信息找到具体区别分类如下: 一.数据类型比较 类型名称 Oracle SQLServer 比较 字符数据类型 CHA ...
- 加载MySQL、Oracle、SQL Server 2000、SQL Server 2005及以上版本 的加载数据库驱动程序
2018-11-04 20:00:59 开始 //getConnection(String url, String user, String password) //url:连接数据库的URL 3 ...
随机推荐
- mybatis三个执行器的差别
myBatis官方对参数"defaultExecutorType"是这样说明的: 有这样三种执行器, SIMPLE是普通的执行器:REUSE执行器会重用预处理语句(prepared ...
- Android之WebRTC介绍(二)
WebRTC提供了点对点之间的通信,但并不意味着WebRTC不需要服务器.暂且不说基于服务器的一些扩展业务,WebRTC至少有两件事必须要用到服务器: 1. 浏览器之间交换建立通信的元数据(信令)必须 ...
- SDN实验---Mininet实验(模拟多数据中心带宽实验)
补充:NameError: name 'buffer' is not defined >>> import sys >>> ,): ... buffer = mem ...
- 华硕主板 Vmware虚拟机 二进制转换与此平台上的长模式不兼容
出现情况如下: 大概遇到过两次这个问题,第一次是在笔记本VM上装虚拟机,第二次是在台式机VM上装虚拟机. 原因是因为虚拟化(Intel Virtualization Technology)技术,在主板 ...
- Linux命令-nohup和&
基础 在linux终端或控制台上执行命令时,可能不希望脚本占住屏幕需要在后台执行脚本,有几种方法让脚本在后台执行: & 当在前台运行某个作业时,终端被该作业占据:可以在命令后面加上& ...
- weixin-js-sdk
场景:在h5移动端,实现分享朋友,分享朋友圈. 插曲:一开始我认为是不能做到分享的,主要是我从微信小程序的角度出发的,想着微信小程序都做不到分享朋友圈功能,那h5就更不能实现了,导致出现了错误的判断. ...
- jvm 性能调优工具之 jmap 命令详解
jmap名称:Java Memory Map(内存映射) 官方文档:https://docs.oracle.com/javase/1.5.0/docs/tooldocs/share/jmap.html ...
- EasyNVR网页摄像机无插件H5、谷歌Chrome直播方案-Onvif(三)使用Onvif协议进行设备PTZ云台控制
背景分析 熟悉EasyNVR产品的盆友们应该都知道,EasyNVR主要完成的是RTSP视频流到RTMP/HLS/Flv的转码,并提供了一套api和一个可视化管理平台来便于调用.同时支持ONVIF协议进 ...
- python 解决 idea 或者 pucharm 编译器在引入自定义的 py 文件的类时,没有提示的问题
1,问题描述: 假设我们有两个问价 a.py 和 b.py 其中分别有 A 类 和 B 类,现在我们想在 b.py 中引用 A 类 语法为 from a import A 虽然这是正确的语法,但是 ...
- .NET 小程序微信用户支付
微信支付有两种模式:微信用户主动发起的支付.签约委托支付协议后自动支付. 自动支付又分为两种:首次支付时签约.纯签约. 首次支付时签约和纯签约在后续周期若需要发起自动扣款时,需要在应用服务中发起申请扣 ...