关于SQLServer2005的学习笔记(一)——前言

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介:
关于SQLServer2005 的学习笔记(一)——前言
 
关于 SQL Server ,个人一直认为它是比较简单却又很神秘的数据库;简单之处在于他完全通过图形化界面便可实现所有大型数据库的安装、维护、备份、优化等等;神秘呢在于它所有的一切都隐藏在了图形化界面之下,让人琢磨不透,当需要更深层次的去了解他的时候,却无能为力。
我开始使用 SQL Server 自 2002 年起,做了一年多基于 SQL Server 数据库的程序开发,然后 04 、 05 年又做了两年基于 SQL Server 的数据仓库,因为数据量太大和性能原因所以需要不断进行性能优化和调整。
       印象最深刻的是 05 年在某移动公司实施基于 SQL Server2000 的数据仓库项目。那台数据仓库机器的硬件配置也不高, 4G 内存,好像是 4 个 CPU ,跑的是 Windows Server2003 ;当时每天的数据量为 1.2GB ,整个数据仓库包括一年的历史数据,总计达到了将近 800GB ,业务数据源主要来自于一个 oracle 数据库,当然还有大量的话务文件,话务信息总是以二进制文本存在,并通过解析工具不断的解析到数据库中。
 
对于 SQLServer2000 来说,难点主要如下:
1、 单表超过 1000 万记录,查询更新删除性能急转直下
很不幸的是,话单信息每天都要超过 3000 万了,即使经过处理后的话单也将近 1000 万;
2、 SQL Server 的锁机制问题, SQLServer2000 采用的是已提交读的悲观并发控制,在读和写之间非常容易造成死锁。
3、 业务逻辑处理复杂度太高,导致性能问题
一条话务可能会出现几十条话单(最高记录为 50 条左右,大概是 IVR 流程设置的问题),最终的话单会被一个长达七八百行的存储过程解析为 3 条话单,而这个过程基本是连续的;这三条话单再经过 ETL 处理转变成可统计的话务指标。
4、 OLAP 也存在严重的性能问题,当时的一个 MOLAP 就将近 100GB 了
5、 系统稳定性不够,总是莫名其妙的出现作业当掉的情况
针对以上情况,我做了不断的尝试和优化,例如优化表结构设计,把表做成当前表和历史表,历史表再切分成分月表;优化业务逻辑存储过程;增加检验和处理死锁;并针对稳定性问题向微软上海进行咨询和处理,最后下载了一堆的补丁和工具进行反复实践。
说实在的,用 SQLServer2000 做 BI/DW 项目,最大的好处是完全通过联机帮助就可以上手,而最大的问题就是稳定性和性能问题,使用 SQL Server 的这段的经验确实让人很痛苦,因为你无从解决。
       再后来,转向了 Oracle 一段时间,同样我对 Oracle 的整体架构、性能优化和开发稍微了解一些,但无奈的是自己对 linux 的了解实在匮乏,所以很难专进去。个人认为自个对 Oracle 的体系架构认识的要比 SQLServer 更深刻一些。
       最近一段时间同步阅读了一下《 SQLServe2005 技术内幕存储引擎》《 SQLServe2005 技术内幕程序设计》、《 SQLServe2005 技术内幕 T-SQL 查询》,对 SQLServer2005 有了一些新的认识,总得感觉 2005 比 2000 有了质的飞跃,微软也在与 Oracle 、 IBM 的不断竞争中成长,而数据库在竞争中不断趋同。
       读书第一遍只是为粗略的看一下,不敢去发表什么个人观点;读第二遍的时候把自己熟悉的部分会做下实践和印证;如果还是无法理解,再去读第三遍;这是我对读书的态度。
       我会在这段时间陆陆续续把自己对以上三本书的学习心得不断记录下来,并在 SQLServer 和 Oracle 之间进行比较,在 SQLServer2000 和 SQLServer2005 之间进行比较。
 



本文转自baoqiangwang51CTO博客,原文链接:http://blog.51cto.com/baoqiangwang/310470 ,如需转载请自行联系原作者
相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
|
12天前
|
IDE Java 应用服务中间件
第一章:入门、安装、配置
第一章:入门、安装、配置
|
12天前
|
存储 SQL 关系型数据库
七天.NET 8操作SQLite入门到实战 - 第三天SQLite快速入门
七天.NET 8操作SQLite入门到实战 - 第三天SQLite快速入门
|
5月前
|
SQL 关系型数据库 MySQL
MySQL数据库学习指南
MySQL数据库学习指南
45 1
|
9月前
|
关系型数据库 MySQL 数据库
MySQL数据库,从入门到精通:第十八篇——MySQL 8新特性全解析(三)
MySQL数据库,从入门到精通:第十八篇——MySQL 8新特性全解析
54 0
|
9月前
|
存储 SQL JSON
MySQL数据库,从入门到精通:第十八篇——MySQL 8新特性全解析(一)
MySQL数据库,从入门到精通:第十八篇——MySQL 8新特性全解析
76 0
|
9月前
|
关系型数据库 MySQL 数据库
MySQL数据库,从入门到精通:第十八篇——MySQL 8新特性全解析(二)
MySQL数据库,从入门到精通:第十八篇——MySQL 8新特性全解析
46 0
|
10月前
|
SQL 存储 关系型数据库
MySQL数据库系统学习(从入门到精通)(上)
MySQL数据库系统学习(从入门到精通)
81 0
|
10月前
|
SQL 关系型数据库 MySQL
MySQL数据库系统学习(从入门到精通)(下)
MySQL数据库系统学习(从入门到精通)
85 0
|
10月前
|
关系型数据库 MySQL
MySQL数据库系统学习(从入门到精通)(中)
MySQL数据库系统学习(从入门到精通)
52 0
|
SQL 关系型数据库 MySQL
MySQL数据库进阶实战--笔记
MySQL数据库进阶实战--笔记
121 0