数据库的性能优化项目解决方案.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
. . . . 参考 ? 数据库优化是一个很广的范围,涉及到的东西比较多,并且每个特定的数据库,其具体的优化过程也是不一样的.因为优化的很大一部分最终都要跟具体的数据库系统细节打交道,在此不可能针对所有的数据库都一一详细阐述,如果那样,恐怕写几本书都写不完.只能针对一些比较通用的,经常用到的的东西进行一个讨论,一般情况下,数据库的优化指的就是查询性能的优化(虽然严格上来说不应该是这样的),让数据库对查询的响应尽可能的快.仅对数据库系统本身而言,影响到查询性能的因素从理论上来讲,包括数据库参数设置(其实就是通过参数控制数据库系统的内存,i/o,缓存,备份等一些管理性的东西),索引,分区,sql语句.数据库参数设置本身是一个很复杂的东西,分区则主要是针对大数据量的情况下,它分散了数据文件的分布,减少磁盘竞争,使效率得到提升。 ???? ?每种数据库或多或少都有一些自己特定的索引,如oracle除了常规索引之外还有反向索引,位图索引,函数索引,应用程序域索引等等,能够让用户对数据的逻辑组织有着更为精确的控制,而sqlserver没有这么多的索引,大体来说,sqlserver的索引分为两种:聚集索引和非聚集索引.在分区方面,oracle和sqlserver比较相似,不过sqlserver的分区更为繁琐一些,但随着sqlserver的版本越来越高,其分区操作也趋向于简洁.sql语句优化则基本上比较独立,目前的一些数据库系统处理sql的机制都比较类似,因为sql本身就是一个标准。这三种将会在下面作一个详细的讨论.本讨论建立在sqlserver上,因为目前部门的很多系统的数据库用到的是sqlserver,虽然oracle会给与我们更多的可探讨的范围.? ? ? 2:测试数据库的建立? ????? 因为要讨论索引,分区,sql等,因此有必要建立一个数据库,不然只是泛泛而谈,我在sqlserver2000上建立了一个名为ipanel的数据库,该数据库只有一张表,名为person,person的定义如下: CREATE TABLE [dbo].[person] (? [id] [bigint] NOT NULL , --记录的id? [name] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,--姓名? [age] [int] NULL ,--年龄? [addr] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,--地址? [sex] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,--性别? [dept] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,--部门? [pos] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,--邮编? [tel] [char] (15) COLLATE Chinese_PRC_CI_AS NULL ,--电话? [fax] [char] (15) COLLATE Chinese_PRC_CI_AS NULL ,--传真? [emdate] [datetime] NULL --入职日期? ) ON [PRIMARY] ????? ON[PRIMARY]表示该表建在系统的默认文件组上,在sqlserver里,文件组的概念就相当于oracle的表空间,是一种逻辑概念,它包含了数据文件,所谓数据文件,当然就是存储数据的文件.默认情况下,sqlserver会在默认的路径建立文件组和初始的数据文件,如果用户在建立数据库或表的时候没有指定文件组,则用默认的。数据文件,日志文件,参数文件是所有数据库系统最主要的文件,oracle还有控制文件,在很多的专业书籍里面,从数据库系统的物理结构上来讲,数据库就是指的静态的数据文件,数据库系统或者数据库实例指的是一组进程,如日志进程,数据缓冲进程,网络监听进程等,这些进程作用在各种文件上面。不说了,扯远了.建了一个数据插入的存储过程:? CREATE PROCEDURE initPerson @start int, @end int , --起始条数,结束条数? @name varchar(10),@age int, --姓名,年龄? @addr varchar(10),@sex char(2), --地址,性别? @dept varchar(20),@emdate varchar(10 --部门,入职日期? AS? declare @id int? se

文档评论(0)

smdh + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档