逍遥一派 发表于 2015-1-16 22:21:16

MSSQL编程:SQL Server和DB2年夜比拼

在需要把许多新记录插入某个数据表的场合,DELAY_KEY_WRITE选项的作用将非常明显。另外,索引还会在硬盘上占用相当大的空间。因此应该只为最经常查询和最经常排序的数据列建立索引。注意,如果某个数据列包含许多重复的内容,为它建立索引就没有太大的实际效果。本文从代价、功能、平台撑持、SQL言语、产物限定等方面对照SQLServer2000和DB2UniversalDatabaseversion8.1。
1、平台对照
SQLServer2000只能在Windows平台上运转,包含Windows9x/NT/2000/XP和CE。和SQLServer2000比拟,DB2UniversalDatabaseversion8.1撑持一切支流平台,除Windows系列以外,还包含AIX体系、HP-UX体系、Linux、SunSolaris等。
1.1硬件需求
安装SQLServer2000必要Intel或兼容的硬件平台,同时还应该满意:

硬件


需求





处置器


Pentium166MHz或更高





内存


32MBRAM(桌面引擎的最小内存需求)

64MBRAM(一切其他版本的内存需求)

保举128MBRAM或更高





硬盘空间


完全安装:270MB

典范安装:250MB

最小安装:95MB

桌面引擎:44MB

剖析服务:最小50MB,典范安装130MB

英语查询:80MB




DB2UniversalDatabasev8.1撑持Windows平台、AIX体系、HP-UX体系、Linux(Intel)和SunSolaris等。在Windows平台上安装DB2UniversalDatabasev8.1的硬件需求以下:

硬件


需求





处置器


Pentium或兼容处置器





内存


RAM:最小256MB

大概必要分外的内存撑持





硬盘空间


典范安装:起码350Mb

最小安装:起码100MB

自界说安装:最小100Mb

在簇较年夜的FAT驱动器上大概必要分外的磁盘空间




假如在UNIX系列操纵体系上安装DB2UniversalDatabasev8.1,包含基于AIX的体系、HP-UX体系、Linux和SunSolaris,硬件必需满意:

硬件


需求





处置器


AIX:IBMRISC/6000大概eServerpSeries

HP-UX:HP9000系列700或800体系

Linux:Intel32位、64位,S/3909672或更高,Multiprise3000,eServerz-Series

Solaris:基于SolarisUltraSPARC的盘算机





内存


最小256MBRAM

大概必要更多的内存





硬盘空间


典范安装:最小450到550MB

松散安装:最小350到400MB

自界说安装:最小350到700MB




1.2软件需求
SQLServer2000有6个版本:企业版,尺度版,团体版,开辟版,桌面引擎,和SQLServerCE(一个和WindowsCE兼容的版本),软件需求以下:

操纵体系


企业版(EnterpriseEdition)


尺度版(StandardEdition)


团体版(PersonalEdition)


开辟版(DeveloperEdition)


桌面引擎(DesktopEngine)


SQLServerCE





WindowsCE























Windows9x























WindowsNT4.0WorkstationwithServicePack5























WindowsNT4.0ServerwithServicePack5























WindowsNT4.0ServerEnterpriseEditionwithServicePack5























Windows2000Professional























Windows2000Server























Windows2000AdvancedServer























Windows2000DataCenter























WindowsXPProfessional





















DB2UniversalDatabasev8.1有上面六个版本
DB2EnterpriseServerEdition(ESE)
DB2WorkgroupServerEdition(WSE)
DB2WorkgroupServerUnlimitedEdition(WSUE)
DB2PersonalEdition(PE)
DB2UniversalDevelopersEdition(UDE)
DB2PersonalDevelopersEdition(PDE)
它们的软件需求以下:
<P><Pclass=newtext>
平台


操纵体系版本


请求安装的补钉





Windows


WindowsNT4.0


ServicePack6a或更高





Windows


Windows2000


WindowsTerminalServer必要ServicePack2





Windows


WindowsXP








AIX


AIX4.3.3(32-bit)


MaintenanceLevel9或更高,和APARsIY22308,Y32690,和IY33024





AIX


AIX5L(32-bit)


MaintenanceLevel2或更高





AIX


AIX5.1.0(32-bit)


MaintenanceLevel2或更高,和APARsIY31254,IY32217,IY32905,IY33023,和IY29345





AIX


AIX5.1.0(64-bit)


MaintenanceLevel2或更高,和APARsIY31254,IY32217,IY32905,Y33023,和IY32466





HP-UX


HP-UX11i


December2001GOLDBASE11i,

December2001GOLDAPPS11ibundles




<Pclass=newtext>
Linux


<Pclass=newtext>Intel32-bit:

<Pclass=newtext>

[*]kernellevel2.4.9或更高

[*]glibc2.2.4或更高

[*]RPM3或更高


Intel64-bit和z-Series:


[*]RedHatLinux7.2

[*]SuSELinuxSLES-7










SunSolaris


Solaris7(32-bit)


patch106327-10





SunSolaris


Solaris7(64-bit)


patch106300-11





SunSolaris


Solaris8(32-bit)


patch108434-03and108528-12





SunSolaris


Solaris8(64-bit)


patch108435-03and108528-12





SunSolaris


Solaris9






2、功能对照
对照SQLServer2000和DB2UniversalDatabasev8.1的功能是一件很坚苦的事变。实践上,数据库体系的功能不但跟数据库范例有关,并且还在很年夜水平上决意于数据库开辟者和办理员的履历。不管利用哪种RDBMS都能够机关出不乱、高效的体系。可是,我们仍然有大概界说一些典范的事件,比方库存把持体系、航班预定体系、银行买卖体系中的事件,然后在分歧的数据库体系上运转这些典范事件,以此对照分歧数据库体系的功能。
TransactionProcessingPerformanceCouncil(TPC.Org)是一个自力的构造,界说了一组典范的数据库事件和这些事件必需满意的前提。TPC对数据库办理体系的事件处置才能和数据库功能举行基准测试,测试尺度是体系和数据库每单元工夫内处置事件的数目,即每秒或每分钟处置的事件数目。
TPC制订了很多测试标准,包含TPC-C、TPC-H、TPC-R和TPC-W,另有一些较老的测试标准,如TPC-A、TPC-B、TPC-D。个中最出名的是TPC-C测试(OLTP测试)。
依据TPC比来的测试了局,SQLServer2000在散布式分区聚集体系中的TPC-C功能测试中博得了成功,拜见:TopTenTPC-CbyPerformanceVersion5Results。在代价/功能测试中,SQLServer2000也取得了最好的TPC-C成就。拜见:TopTenTPC-CbyPrice/PerformanceVersion5Results。
注重:因为年夜多半单元其实不真正必要十分年夜型的数据库,因而一个很关头的成绩是:关于年夜多半企业来讲,TPC-C基准测试的实践意义并非很年夜。
3、代价对照
和DB2UniversalDatabasev8.1比拟,MicrosoftSQLServer2000一个次要的上风是代价很廉价,另外一个长处是在EnterpriseEdition中已作为尺度功效包括了联机剖析处置(OLAP,Onlineanalyticalprocessing)和数据发掘(DataMining),因而关于要利用OLAP和数据发掘功效的用户来讲,SQLServer2000能够节俭几倍的投资。
上面的代价对照基于微软的IBMDB2Version8.1和SQLServer2000代价对照材料。
对照SQLServer2000StandardEdition和DB2v8.1WorkgroupEdition的代价:

CPU数目


IBMDB2v8.1WorkgroupEdition


SQLServer2000StandardEdition





1


$7,500


$4,999





2


$15,000


$9,998





4


$30,000


$19,996





8


$60,000


$39,992





16


$120,000


$79,984





32


$240,000


$159,968



对照SQLServer2000EnterpriseEdition(已包括OLAP和DataMining)和IBMDB2v8.1EnterpriseEdition加上OLAP、DataMining:

CPU数目


IBMDB2v8.1EnterpriseEdition


IBMDB2v8.1EnterpriseEdition加上OLAP和DataMining


SQLServer2000EnterpriseEdition





1


$25,000


$113,000


$19,999





2


$50,000


$126,000


$39,998





4


$100,000


$252,000


$79,996





8


$200,000


$504,000


$159,992





16


$400,000


$1,008,000


$319,984





32


$800,000


$2,016,000


$639,968



注重:下面对SQLServer2000和DB2UniversalDatabasev8.1的代价对照其实不完全,只是一个择要的对照。实践大概有扣头,并且未来代价大概上升或下落。概况请会见IBM和Microsoft的网站。
4、特征对照
SQLServer2000和IBMDB2UniversalDatabasev8.1都撑持ANSISQL-92EntryLevel,但都不撑持ANSISQL-92IntermediateLevel。上面复杂对照一下Transact-SQL和DB2SQLdialect的特性,随后申明SQLServer2000和DB2UniversalDatabasev8.1的一些限定。
4.1SQL言语
SQLServer2000撑持的SQL方言叫做Transact-SQL(T-SQL),IBMDB2v8.1撑持的SQL方言叫做DB2SQLdialect。DB2SQLdialect要比T-SQL壮大很多。下表扼要对照了DB2SQLdialect和T-SQL:

功效


DB2SQLdialect


T-SQL








干系表,工具表,一时表


干系表,一时表





触发器


BEFORE触发器,AFTER触发器,INSTEADOF触发器


AFTER触发器,INSTEADOF触发器





存储历程


DB2SQLdialect语句,Java办法,第三代言语(3GL)历程。


T-SQL语句





用户界说函数


内部标量函数,内部表函数,OLEDB内部表函数,一时函数,SQL标量、表和行函数


标量函数,嵌进式表-值函数,多语句表-值函数





数组


撑持


不撑持



4.2限定
下表对照了SQLServer2000和DB2v8.1的限定:

功效


SQLServer2000


IBMDB2v8.1





列称号长度


128


128





索引称号长度


128


128





表称号长度


128


128





视图称号长度


128


128





游标称号长度


128


18





束缚称号长度


128


18





暗码长度


128


32





SQL变量长度


128


64





用户称号长度


128


30





maxchar()巨细


8000


254





maxvarchar()巨细


8000


32672





每一个表的最年夜列数


1024


1012





每一个索引的最年夜列数


16


16





每一个表的最年夜索引数


250


32767





最长的SQL语句


16777216


65535





每一个SELECT的列数


4096


1012





每一个INSERT语句的列数


1024


1012





存储历程嵌套深度


32


16



5、停止语
必定要说SQLServer2000比DB2UniversalDatabasev8.1优异是不实在际的,反过去也一样。不管是利用SQLServer2000仍是利用DB2UniversalDatabasev8.1,都能够机关出不乱、高效的体系,使用和数据库的不乱性、高效性与其说依附于数据库办理体系的范例,不如说依附于数据库开辟者和办理员的履历。但是,当我们对照SQLServer2000和DB2UniversalDatabasev8.1时,SQLServer2000的确显现出一些共同的上风,DB2UniversalDatabasev8.1也一样。
SQLServer2000的上风是:
SQLServer2000要比DB2v8.1便宜。
在TPC-C功能和代价/功能测试中,SQLServer2000凌驾了DB2v8.1。
一样平常以为,SQLServer2000更简单安装、利用和办理。
DB2UniversalDatabasev8.1的上风是:
DB2UniversalDatabasev8.1撑持一切已知的平台,而不单单是Windows平台。
DB2SQLdialect要比T-SQL壮大。
能够经由过程启动参数调剂的设置项目较多。

有了rowbase的binlog后,我们来分析一下怎么实现闪回。平时的DML无非三种操作,增删改,先说三种操作的日志格式。

因胸联盟 发表于 2015-1-28 06:02:14

呵呵,这就是偶想说的

简单生活 发表于 2015-2-5 18:48:40

记得在最开始使用2k的时候就要用到这个功能,可惜2k没有,现在有了作解决方案的朋友会很高兴吧。

只想知道 发表于 2015-2-13 06:34:58

习惯敲命令行的朋友可能会爽一些。但是功能有限。适合机器跑不动SQLServerManagementStudio的朋友使用。

乐观 发表于 2015-3-3 17:48:07

学习SQL语言的话如果要学会去做网站就不是很难!但是要做数据库管理的话就有难度了!

若天明 发表于 2015-3-11 12:39:35

以前的DTS轻盈简单。但是现在的SSIS虽然功能强大了很多,但是总是让人感觉太麻烦。看看论坛中询问SSIS的贴子就知道。做的功能太强大了,往往会有很多用户不会用了

不帅 发表于 2015-3-18 18:18:42

同样会为索引视图等应用带来麻烦。看看行级和事务级的快照数据放在tempdb中,就能感觉到目前架构的尴尬。

飘飘悠悠 发表于 2015-3-26 13:57:41

如安全管理、备份恢复、性能监控和调优等,SQL只要熟悉基本操作就可以,只要程序设计部分只要稍加了解即可(如存储过程、触发器等)。
页: [1]
查看完整版本: MSSQL编程:SQL Server和DB2年夜比拼