您好,欢迎来到思海网络,我们将竭诚为您提供优质的服务! 诚征网络推广 | 网站备案 | 帮助中心 | 软件下载 | 购买流程 | 付款方式 | 联系我们 [ 会员登录/注册 ]
促销推广
客服中心
业务咨询
有事点击这里…  531199185
有事点击这里…  61352289
点击这里给我发消息  81721488
有事点击这里…  376585780
有事点击这里…  872642803
有事点击这里…  459248018
有事点击这里…  61352288
有事点击这里…  380791050
技术支持
有事点击这里…  714236853
有事点击这里…  719304487
有事点击这里…  1208894568
有事点击这里…  61352289
在线客服
有事点击这里…  531199185
有事点击这里…  61352288
有事点击这里…  983054746
有事点击这里…  893984210
当前位置:首页 >> 技术文章 >> 文章浏览
技术文章

使用SQL Server 2005的3个理由

添加时间:2013-4-25 17:47:28  添加: 思海网络 
 1:使用分区表来提高数据库性能

  以前的处理大数据量时很多人会采取使用多个结构相同的表按时间段来分,不同时间的数据存在不同的数据表里,这样如果只查询一个表的数据就很快,如果需要跨表查询则再通过连接视图将这些表连起来伪装成一个表的样子,这样可以提高查询效率,但牺牲了程序设计的优雅性和数据库设计的简单性,特别是在处理关系、约束、数据完整性时会非常的繁琐复杂。

  升级到sql2005可以采用分区表(partition table)来处理这种需求,我们可以将我们的分区规则写成分区函数,然后我们的分区表就可以按照这个分区函数来将我们的表存储在不同的存储介质上,当我们查询时SQL Server最优化程序会自动选择分区做Join这样当然要比大数量过滤起来有效的多。

  2:通过Row_Number来给查询结果集加个序号

  查询结果集没有序号郁闷的问题相信折腾了不少人,每每有客户指着我的Grid OR Report对我说“小莫,你能不能给这个地方加个序号?”对于这样的合理要求只能说是,然后就将查询来的结果手动的加个序号,对牺牲的性能也只好烧把高香祝福它能升上天堂,然后就是保佑着客户查询数据量不要太大。

  升级到SQL2005 我可以将序号这个功能默认给用户不要他再给我提这样的合理要求了。

  3:交叉表恶梦的结束

  如果你做过考勤管理,选择建31个列还是添加31行?选择31列直观,但你查询的时候你也许更喜欢你头撞墙而不是来查询,添加31行当你决定用列显示日期的时候你发现你还是愿意撞墙。还有当你做类似学生成绩管理系统的时候你要将课程表中的课程数据做列学生表中的学生作行的时候这个时候你突然醒悟还是撞墙好些。

  升级到SQL Server2005你可以用Pivot这个单词的意思就是“枢轴”有了轴你可以将行扭成列还可将列扭成行(UNPivot)

关键字:SQL Server、数据库

分享到:

顶部 】 【 关闭
版权所有:佛山思海电脑网络有限公司 ©1998-2024 All Rights Reserved.
联系电话:(0757)22630313、22633833
中华人民共和国增值电信业务经营许可证: 粤B1.B2-20030321 备案号:粤B2-20030321-1
网站公安备案编号:44060602000007 交互式栏目专项备案编号:200303DD003  
察察 工商 网安 举报有奖  警警  手机打开网站