SQL Server 2008构建SOA管理软件实践:逻辑主键与性能优化
3星 · 超过75%的资源 需积分: 9 71 浏览量
更新于2024-07-30
收藏 4.97MB PPT 举报
本文是关于如何基于SQL Server 2008构建面向服务架构(SOA)的大型管理软件的技术实践分享,由用友软件股份有限公司U9研发中心的黄卫在2010年3月17日提出。文章讨论了在U9系统中遇到的关键技术和优化策略,包括逻辑主键的选择、行版本快照、数据压缩、索引覆盖、分页算法、计算列的使用以及XML优化等。
1. **如何选定逻辑主键**:在数据库设计中,逻辑主键的选择至关重要。无意义整数顺序号(Bigint)虽然设置简单,但不适用于分布式数据库,且数据迁移时容易引发冲突。全局唯一标识符(GUID)虽然支持分布式,但占用空间较大。U9系统采用的主键策略是SiteID+日期+顺序号,这种组合既节省空间又支持分布式应用,并通过存储过程和CLR实现自治事务,以降低内存中的冲突。
2. **行版本快照-读已提交数据**:SQL Server 2005引入了行版本控制,允许读操作在写操作执行时不被阻塞,提升了并发性能。启用快照隔离后,读操作可以从Tempdb中获取已提交数据的快照,减少了等待时间。
3. **使用数据压缩减少磁盘I/O消耗**:SQL Server 2008提供了页压缩功能,U9系统广泛使用这一特性来降低磁盘I/O,从而提高系统性能。通过数据压缩,可以显著减少存储需求,尤其是对于大数据量的表和索引。
4. **包含列索引实现索引覆盖**:通过创建包含列索引,可以使得查询只通过索引就能获取所有所需数据,避免了扫描整个表,进一步优化了查询性能。
5. **U9分页算法实现**:分页查询在大型系统中非常重要,U9系统采用了特定的分页算法来高效地处理大量数据的分页显示,确保了用户体验和系统性能。
6. **计算列在U9系统中的应用**:计算列可以在数据库层面定义计算公式,提供预计算的值,减少了应用程序的计算负担,提高了系统响应速度。
7. **表值参数(Table-Valued Parameter)的应用**:表值参数是一种更有效传递多行数据的方法,相比传统方式,它降低了网络传输开销,提高了批量操作的效率。
8. **使用XML优化硬编码SQL**:在处理复杂或动态的查询时,使用XML可以更好地封装和传递信息,避免了硬编码SQL导致的维护难题,同时可能通过XML优化提高查询效率。
U9系统的设计与实施充分考虑了高并发、高性能的需求,通过上述技术手段,实现了对大规模数据的高效管理和处理,确保了系统的稳定性和扩展性。这些实践经验对于开发大型企业级SOA系统具有重要的参考价值。
2023-09-07 上传
2023-12-21 上传
2023-07-18 上传
2023-09-27 上传
2024-06-04 上传
2023-03-28 上传
2023-08-31 上传
2023-06-06 上传
2023-09-09 上传
alto1394
- 粉丝: 11
- 资源: 93
最新资源
- 明日知道社区问答系统设计与实现-SSM框架java源码分享
- Unity3D粒子特效包:闪电效果体验报告
- Windows64位Python3.7安装Twisted库指南
- HTMLJS应用程序:多词典阿拉伯语词根检索
- 光纤通信课后习题答案解析及文件资源
- swdogen: 自动扫描源码生成 Swagger 文档的工具
- GD32F10系列芯片Keil IDE下载算法配置指南
- C++实现Emscripten版本的3D俄罗斯方块游戏
- 期末复习必备:全面数据结构课件资料
- WordPress媒体占位符插件:优化开发中的图像占位体验
- 完整扑克牌资源集-55张图片压缩包下载
- 开发轻量级时事通讯活动管理RESTful应用程序
- 长城特固618对讲机写频软件使用指南
- Memry粤语学习工具:开源应用助力记忆提升
- JMC 8.0.0版本发布,支持JDK 1.8及64位系统
- Python看图猜成语游戏源码发布