日期:2014-05-18  浏览次数:20585 次

SQLSERVER2005的未来,我们的未来
我是SQLSERVER的饭思;
最近被派去听了次ORACLE课,听ORACLE老师讲了很多他自己的性能调优经验,都是超大数据库的性能优化,过程中我总结了以下几点,想知道SQLSERVER2005是否能实现如下功能(对SQLSERVER不精),或是实现方式不同,请大家指点!先谢了!


1,ORACLE中可以在SQL语句中加入hint注释,在多表关联时能自己控制是从哪个表开始筛选,避免先大表全表扫描再关联小表筛选;
2,ORACLE中可以在SQL语句中加入hint注释,能强制使用索引(系统有时候会不用索引);
3,物化视图:提前为某SQL语句创建聚合,将数据存储起来,解决大报表查询速度问题;
4,快速ETL:在分区技术的基础上,能快速的将某表某分区转移到另一个表中或新建表;
5,分区的原理是否一样?ORACLE中纵向\横向都能分区,管理的确很方便;
6,SQLSERVER2005存储数据量最大到底是多少,综合性能是否能与ORACLE媲美(最佳优化下),听ORACLE老师说的350T数据是否能支撑的了?
7,统计信息:ORACLE中可以手动培植统计信息,计算库中表的记录数\字段使用长度\索引等信息,SQLSERVER中似乎是自动的,是否能手动维护并影响到查询语句解析时的优化机制;

以前曾有某大型国企用户说过一句话,让我很困惑,他说: "SQLSERVER和ORACLE在默认配置下性能无可比性,都差不多,但真要是遇见问题了,SQLSERVER可能就没办法了,甚至是系统报错,而ORACLE可以调整一些参数或优化语句,基本都能解决 ";

期待SQLSERVER2005能在性能上渐渐被用户所接受!



------解决方案--------------------
从功能和稳定性上说,SQL Server确实和Oracle存在差距。

但SQL Server在逐步完善。
------解决方案--------------------
我同时用SQL和ORACLE已经有七八年了.

从我接手的项目来看,用哪个都无所谓.

要说这个东西谁好谁坏没有意义(其实SYBASE和DB2也不错),关键是看客户想使用什么.
------解决方案--------------------
不管怎么说,Oracle的DBA待遇普遍都比SQL Server的DBA要高。
------解决方案--------------------
关注着
------解决方案--------------------
哈哈~~
SQL Server还在完善。
------解决方案--------------------
wangtiecheng(不知不为过,不学就是错!) ( ) 信誉:100 Blog 加为好友 2007-4-14 22:58:18 得分: 0



不管怎么说,Oracle的DBA待遇普遍都比SQL Server的DBA要高。



同解,Oracle和SQL Server是存在差距的。比如说:Oracle的回滚字段
------解决方案--------------------
SQL Server确实和Oracle存在差距,
SQL Server主要面对中小系统,
Oracle主要面向大系统
------解决方案--------------------
1,ORACLE中可以在SQL语句中加入hint注释,在多表关联时能自己控制是从哪个表开始筛选,避免先大表全表扫描再关联小表筛选;

当然没有问题, 楼主去看SELECT的OPTION子句, 不过, 一般是不设置, 数据随时在变化, 还是让sql自己去优化好了.


-------------------------------------------
2,ORACLE中可以在SQL语句中加入hint注释,能强制使用索引(系统有时候会不用索引);

没有问题, 使用WITH(INDEX)


-------------------------------------------
3,物化视图:提前为某SQL语句创建聚合,将数据存储起来,解决大报表查询速度问题;

没有问题, 视图+索引, 在企业版中, 查询即使不直接使用视图, 只要查询中语句所需要的数据能够用到视图的数据, 查询优化器一样可以利用索引视图中的数据


-----------------------------------------
4,快速ETL:在分区技术的基础上,能快速的将某表某分区转移到另一个表中或新建表;

没有问题, 不过, 在SQL 2005中才开始有分区表, 所以这个是sql 2005才能做到的


-----------------------------------------
5,分区的原理是否一样?ORACLE中纵向\横向都能分区,管理的确很方便;

目前只支持纵向分区(将不同的记录分区到不同的位置), 当然, 这也是sql 2005的.(分区视图就不说了, 管理麻烦)

---------------------------------------------
6,SQLSERVER2005存储数据量最大到底是多少,综合性能是否能与ORACLE媲美(最佳优化下),听ORACLE老师说的350T数据是否能支撑的了?

这个楼主查联机帮助吧, 老实说, 数据量大到几TB的我见过, 实在是没有机会见识超过10TB的. 所以这个不敢乱讲.
不过, 根据厂商的测试数据来看, 似乎并不存在oracle比sql server好多少的说法.


---------------------------------------------
7,统计信息:ORACLE中可以手动培植统计信息,计算库中表的记录数\字段使用长度\索引等信息,SQLSERVER中似乎是自动的,是否能手动维护并影响到查询语句解析时的优化机制;

这个你想手动就手动, 想自动就自动
估计楼主没有看过 CREATE STATICS语句, 也没有看过数据库的选项.
------解决方案--------------------
细听老大讲解,学习
------解决方案--------------------