文|刘卫英
探讨SQL Server数据库的性能分析与优化策略研究
文|刘卫英
SQL Server是目前商业用户使用较多的数据库平台,是目前安全可靠的存储平台,方便商业用户构建和管理各种数据的应用程序。充分分析SQL Server数据库的性能,掌握其技术的应用关系,可以为客户提供更多的优化管理策略。
SQL Server数据库将原始数据作为参考依据,该工作看似繁琐,却十分重要,用作分析和应用管理商业数据,非常便捷。SQL Server数据库管理系统在国外应用非常好,但在国内,还处于起步阶段,真正的数据运用还比较少,应用体现在做数据处理、数据分析,能用得上SQL Server数据库为基础的数据库应用技术的行业是大型网站、银行、医院等。
数据库应用的概念出现较早,早期数据仓库建模就已经用到了数据应用,SQL Server数据库管理应用技术是这几年比较火的,趋势很好,目前很多大型企业都在以SQL Server数据库做管理应用技术。它具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越多种平台使用。
假设有多个数据库,每个数据库都有一个专属的管理员,这样就产生数据库用户的概念。不同的角色有着不同的权限。角色可以使用者自建,你给角色赋予多少个权限,再把角色赋予给用户,用户就有这么多的权限了。登录帐号是对于服务器而言的,数据库用户是针对特定数据库而言的。如果有多个数据库,那么每个数据库的用户都属于这台SQL SERVER的Login User,而其中的一个或某几个Login user只属于某个数据库的用户,而对其他数据库没有操作权限。
基于SQL Server数据库应用技术充分利用资源,应用价值,分析、评估客户需求,对数据有透彻的了解,制订并实施有效方案,依据方案,利用SQLServer数据库、建立有效网络关系,对相关信息进行分析、过滤,建立测评指标,协助解决处理障碍,进一步把握未来的发展走向。
SQL Server数据库应用技术可以从企业不同层面的人的视角去分析企业的运营情况,通过预警和预测分析,为企业的经营决策提供支持,应用技术本身更多的是经营管理项目而不是一个纯粹的IT项目。
SQL Server数据库最主要的就是数据库设计冗余,还包括SQL语言,存储过程比一般的SQL语句快等;其次就是编程代码的问题,如果用switch的话就会加速,还有就是循环操作数据时,网络也在其中。数据过多,临时表没有及时清空,事务回滚,大量数据操作,电脑内存不足。总的来说影响到SQL Server数据库性能的三个大因素,主要体现在应用程序性能,SQL语言性能以及B/S模式性能上。
(一)应用程序性能
应用程序是影响数据库出问题的主因,应用程序是衡量数据库性能的一项重要指标。一般说来,应用程序性能对SQL Server数据库直接访问的速度,反映了SQL Server数据库存储信息的能力。应用程序的性能对SQL Server数据库的可使用性、灵活性和适应性以及效率高低都有着很大影响。通过优化应用程序的性能还增强SQL Server数据库的性能。
(二)SQL语言性能
SQL语言性能则是决定了数据是否有效的一个指标。好比前台与内部存储的数据进行交互,后台数据是通过一定的数据结构存储起来的,为了便于前台访问这些后台数据结构中的数据,便需要应用到SQL语言,通过这个通道将前台与后台沟通起来,沟通的过程中,前台不需要知道后来的数据是如何存取的,数据都存在什么地方等信息。通过SQL语句,将数据插入到数据库的数据表中;根据条件查询某条或者多条记录;根据指示对数据库中的某条数据内容进行更新;删除不需要的数据记录;SQL语言支持一些特殊的计算功能,比如汇总,对某个列的值进行条件汇总。由此可看出SQL语言是优化SQL Server数据库方便快捷度的一个指标。其优点体现在可以独立完成数据库中的全部操作,只需将需求指令交给系统,就能自动完成工作。功能强大,命令不多;语法简单,易于掌握。有多种执行方式可以直接使用,也可以嵌入各种高级语言中使用。具有完备的查询功能,是保障SQL Server数据库性能稳定的要素之一。
(三)B/S模式性能
B/S模式是随着英特尔技术的兴起,新兴的结构模式。其优点是大大简化客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。适用于用户群庞大,好比以前的软件架构大都是C/S模式,说得通俗一点就是要下载安装软件,而B/S模式是可以用浏览器访问的,软件部署到线上,不用下载到本地,直接访问网址就可以使用,B/S模式即是浏览器和服务器计算模式。用户可以直接通过输入网址进行网页的访问,使用B/S计算模式时,开发的应用程序就是WEB应用程序。B/S 建立在广域网之上, 不必采用专门的网络硬件环境,适应范围更强,一般只要有操作系统和浏览器就行,B/S模式建立在广域网之上,然而相对安全的控制能力比较弱,数据安全性差,主要靠管理密码的数据库来维护。客户端零维护,系统的扩展非常容易。可以随时随地进行业务处理,可实现所有用户的同步更新,共享性较强。
总的而言,分为应用程序优化和硬件优化,其中程序优化如下:
对应用程序,SQL语言模式,B/S模式进行有效性能优化处理。SQL Server数据库使用方便,提供的函数较丰富,性能相对于ACESS、MySql等数据库要强一些。然而性能比不上大型数据库,如SQL2008,ORACLE,DB2等等,不能移植到LINUX中,只能在windows中运行,安全性也不够高,经常被攻击它的1433端口sql server作为服务器数据库,它只返回限于程序提交的查询语句的对应记录,所以能用于大型数据处理,及时回馈数据交互的SQL SERVER的数据是实时的。可以使用它自带的优化器来优化,然后根据建议去优化。要注意规范化编程。而且要抓住一个原则来写,就是尽可能缩小查询出来的结果集,哪怕多次查询都无所谓,要一步一步把大数据量缩小。很多还需要在时间中优化。SET STATISTICS TIME ON;SQL 语句SET STATISTICS TIME OFF;这个是sqlserver,可以测出执行时间。编写的时候要时刻想着:缩小结果集、减少连接次数和表数。大数据量不要用update,可以用临时表作为过渡来实现update操作。另外数据库属性有两个选项,与事务日志的增长有关:Truncate log on checkpoint(此选项用于SQL7.0,SQL 2000中即故障恢复模型选择为简单模型)当执行CHECKPOINT 命令时如果事务日志文件超过其大小的70% 则将其内容清除在开发数据库时将此选项设置为TrueAuto shrink。
当数据库文件或日志文件定期对数据库进行检查的未用空间超过其大小的25%时,系统将会自动缩减文件使其未用空间等于25%,当文件大小没有超过其建立时的初始大小时不会缩减文件缩减后的文件,也必须大于或等于其初始大小,对事务日志文件的缩减只有在对其作备份时或将Truncate log on checkpoint 选项设为True 时才能进行。注意:一般建立的数据库默认属性已设好,但碰到意外情况使数据库属性被更改,请用户清空日志后,检查数据库的以上属性,以防事务日志再次充满。
SQL Server默认是不允许远程连接的,如果想要在本地用SSMS连接远程服务器上的SQLServer数据库,需要确认使用SQL Server身份验证方式验证模式进行登录。
建立并使用恰当的索引,能极大地提高查询效率,注意事项包括不要索引常用的小型表;不要把社会保障号码(SSN)或身份证号码(ID)选作键;使用系统生成的主键。
硬件优化是一个必要的过程,随着数据越来越多,数据库也应随之扩大,以便跟上数据处理的效果及速度。良化的数据库管理硬件工具也是让其性能优化的一个常规模式。
SQLServer数据库对用户进行数据处理和查调非常方便快捷,是目前应用最广的数据库应用之一,不仅可以提高工作效率,还能降低成本支出,加强对SQLservel数据库的性能分板,进一步加强优化策略,为使用者提供更好的服务。
详细了解的性能,以便于及时作出调整优化策略,才能更好的为使用者服务。
作者单位:江西省体育电子设备研究所