SQL Server,Oracle,DB2数据库SQL语句比较(4)

时间:2025-04-23

许多个不一定连续的区组成,每个区则是由许多连续的数据块组成。
要控制数据库的大小,可以通过数据文件和表空间的大小来控制,要控制表的大小,可以通过表空间可用区域的数量和大小,可以设置将表创建在哪个表空间如同sql中设置表存在哪个文件组来对表存在的位置的控制。要处理 I/O频繁的文件查询速变慢等问题,则通过数据块,和pcttree(类似sql server中的fill factor)处理。
sql server中,没有表空间的概念,但是与表空间对应的概念是文件组。sql server也没有段的概念,sql server的页大概可以与oracle中的块对应。sql server也有区,它是分配磁盘空间的单元。因为,每一个区至少包含一个表或索引的内容,但它的区的大小是固定的64kb,页也是固定的8kb。而oarcle中的区的大小不是固定的,且每个块的大小,依据*作系统的不同而不同。



Oracle的*作包含两大部分,第一个是数据库,第二个实例。所谓oracle实例可以看成sql server的mssqlserver服务,只要sql server的服务启动,那么所有的数据库就可以使用,而实例只要被启动,则特定的数据库就可以运用。每个数据库都有自己的实例。


sql语句,MS SQL是T-SQL, 而Oracle是PL/SQL,而者有很大区别
如查看表结构,oracle是desc 表名,而ms sql是sp_help 表名

补充:oracle的存储结构

一个表空间只能属于一个数据库

  每个数据库最少有一个控制文件(建议3个,分别放在不同的磁盘上)

  每个数据库最少有一个表空间(SYSTEM表空间)

  每个数据库最少有两个联机日志组,每组最少一个联机日志文件

  一个数据文件只能属于一个表空间

  一个数据文件一旦被加入到一个表空间中,就不能再从这个表空间中移走,也不能再加入到其他表空间中

  建立新的表空间需要建立新的数据文件

  一个段segment只能属于一个表空间,但可以属于多个数据文件

  一个区extent只能属于一个数据文件,即区间(extent)不能跨越数据文件
  
  COMMIT后,数据不一定立即写盘(数据文件)

  一个事务即使不被提交,也会被写入到重做日志中。

为什么要知道这么多,因为microsoft把很多的*作都打成包,*作人员只知道单击"下一步"就可以达到目的,但是浑然不知sql server是如何运转,oracle几乎什么都可以自己设置!,不过也因为这样,一个不小心,很可能就会把数据库搞坏,或拖跨系统运算速度。



我讲一些sql语句的差别:
1. oracle查看当前用户下有什么对象(表、视图、同义词、快照)
SQL> select * from tab;
查看表结构
SQL> describe 表名
而sql server是sp_help
2.如何实现某一字

SQL Server,Oracle,DB2数据库SQL语句比较(4).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219