关于sqlserver和oracle的一点感受

2012年使用了一点oracle,那个时候其实并不真正的了解这个数据库,所会的也就是利用toad做一些简单的管理,后来转战到sqlserver才开始对数据库这个东西有了一些了解。使用了sqlserver有一年多了,后来又开始使用了oracle了,让我一阵须臾,这回多少也该弄懂了oracle这个大大了吧,经过我的使用还真是发现了一些不同。

sqlserver在存储中使用了不少的临时表,因为这有助于管理好数据的edit,但是这个方法在oracle中确实很少见的,因为对于oracle来说,临时表的建立与正是表的建立消耗的资源是一样的,对数据库的压力是很大的,不能自由的建立和释放。其实我到现在也不太明白oracle是怎么处理大型综合数据的,给我的一个直观的感受是oracle多使用小量代码的存储结构,而sqlserver 则擅长使用大量代码的存储结构。

sqlsever是很少使用触发器的,至于为什么我是没有仔细研究过,触发器可以帮助我们处理一些固定的规则的增量数据事物,哦对了,sqlserver也不怎么使用事物,但是这在oracle中是常见的。当然做数据运维的时候有的时候触发器如果不了解可不是什么好事。

sqlserver我是没见过使用游标的,也许你会惊讶,在写代码的时候难道没有写游标吗?那个游标是要写的,但是在存储中,我还真没见过游标式的提取数据,但是这种方法在oracle中却是大行其道的,oracle中使用游标提取数据,然后做处理,sqlserver则善于使用临时表处理。不过我并不清楚oracle是怎么调用存储和提取数据的,因为工作中并没有涉猎过,以后有时间会研究下。

知道了一些sqlserver和oracle的不同,让我对mysql也有了一些好奇,但是由于不经常使用,只是偶尔做一些基本的使用,所以感触不深,因为并不是做DBA,我其实也没多大动力去研究深入,不过作为茶余饭后,我想有时间我顺手看下好了,至于T-SQL和PL/SQL的用法区别就没法说了,就像sql不区分大小写数据,而oracle则严格区分大小写和空格一样,这和性格一样,微妙的地方太多了。不过特别喜欢toad带来的monitor机制,这点希望sqlserver抓紧努力!!

时间: 2024-10-25 21:15:27

关于sqlserver和oracle的一点感受的相关文章

SqlServer 、Oracle 、MySql 的区别

一.sqlserver 优点: 易用性.适合分布式组织的可伸缩性.用于决策支持的数据仓库功能.与许多其他服务器软件紧密关联的集成性.良好的性价比等: 为数据管理与分析带来了灵活性,允许单位在快速变化的环境中从容响应,从而获得竞争优势.从数据管理和分析角度看,将原始数据转化为商业智能和充分利用Web带来的机会非常重要.作为一个完备的数据库和数据分析包,SQLServer为快速开发新一代企业级商业应用程序.为企业赢得核心竞争优势打开了胜利之门.作为重要的基准测试可伸缩性和速度奖的记录保持者,SQLS

mysql、sqlserver、oracle三种数据库维护索引、外键、字段语法总结

mysql.sqlserver.oracle三种数据库维护索引.外键.字段语法总结 1.     MYSQL数据库 1)    创建索引 CREATE INDEX index_name ON table_name(column_list) CREATE UNIQUE INDEX index_name ON table_name(column_list) 修改表的方式添加索引 ALTER TABLE table_name ADD INDEX index_name(column_list) ALTE

SQLServer访问Oracle查询性能问题解决

原文:SQLServer访问Oracle查询性能问题解决 1. 问题 系统有个模块,需要查询Oracle数据库中的数据.目前是通过建立链接服务器实现的. SQLServer访问Oracle实现 可参考这篇文章http://www.cnblogs.com/gnielee/archive/2010/09/07/access-oracle-from-sqlserver.html 目前的查询语句就是一个简单的带where条件的查询语句,类似如下: SELECT * FROM LINKED_NAME..A

Mysql,SqlServer,Oracle主键自动增长的设置

1.把主键定义为自动增长标识符类型 MySql 在mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值.例如:   customers(id  auto_increment    , name (  customers(name)  id  customers; 以上sql语句先创建了customers表,然后插入两条记录,在插入时仅仅设定了name字段的值.最后查询表中id字段,查询结果为: 由此可见,一旦把id设为auto_increment类型,mys

SQLServer与Oracle的对比

    最近去铁科院面试,项目组长问了我这样一下问题:SQLServer与Oracle的区别是什么?从进入软件行业,从开始CS的编码到BS的编码过程中使用的都是SQLServer,在半年前开始敲DRP的过程中才接触到Oracle,当时给我的感觉Oracle太庞大了,也许对新鲜的事物都是这种感觉吧,下面我就来详细的介绍一下:    1.数据类型不同. sql server 的数据类型 int ,smallint ,char,varchar,nchar,nvarchar,ntext,datetime

SQLServer和Oracle的常用函数对比

---------数学函数 1.绝对值 S:select abs(-1) value O:select abs(-1)  value from dual 2.取整(大) S:select ceiling(-1.001) value O:select ceil(-1.001)  value from dual 3.取整(小) S:select floor(-1.001) value O:select floor(-1.001)  value from dual 4.取整(截取) S:select

C#操作SqlServer MySql Oracle通用帮助类Db_Helper_DG(默认支持数据库读写分离、查询结果实体映射ORM)

[前言] 作为一款成熟的面向对象高级编程语言,C#在ADO.Net的支持上已然是做的很成熟,我们可以方便地调用ADO.Net操作各类关系型数据库,在使用了多年的Sql_Helper_DG后,由于项目需要,于是乎,就准备写一个Mysql_Helper在实现过程中,发现ADO.Net封装之完善,以及面向对象的封装.继承.多态,有了这些特性,何不把数据库操作封装成为一个通用的类呢,此文由此铺展而来... [实现功能] 这篇文章将要介绍的主要内容如下: 1.ADO.NET之SqlServer 2.ADO

sqlserver和oracle修改表结构

sqlserver和oracle修改表结构常用SQL Server:1.增加列  ALTER TABLE users ADD address varchar(30);2.删除列  ALTER TABLE users DROP COLUMN address;3.修改字段类型  ALTER TABLE users ALTER COLUMN address varchar(80);4.重命名列:  EXEC sp_rename 'WN_CALL_INFO.[CUST_CODE]', 'CUST_ID'

C#操作SqlServer MySql Oracle通用帮助类

C#操作SqlServer MySql Oracle通用帮助类 [前言] 作为一款成熟的面向对象高级编程语言,C#在ADO.Net的支持上已然是做的很成熟,我们可以方便地调用ADO.Net操作各类关系型数据库,在使用了多年的Sql_Helper_DG后,由于项目需要,于是乎,就准备写一个Mysql_Helper在实现过程中,发现ADO.Net封装之完善,以及面向对象的封装.继承.多态,有了这些特性,何不把数据库操作封装成为一个通用的类呢,此文由此铺展而来... [实现功能] 这篇文章将要介绍的主