sql数据库实训总结.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文档。上传文档
查看更多
sql数据库实训总结.doc

sql数据库实训总结 sql数据库实训总结,SQL是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建 立的操作命令集,是一种功能齐全的数据库语言。下面是分 享的sql数据库实训总结,欢迎阅读! sql数据库实训总结 我在sql server索引基础知识系列中,第一篇就讲了 记录数据的基本格式。 那里主要讲解的是,数据库的最小读存单元:数据页。 一个数据页是8k大小。 对于数据库来说,它不会每次有一个数据页变化后,就 存到硬盘。 而是变化迖到一定数量级后才会作这个操作。 这时候,数据库并不是以数据页来作为操作单元,而是 以64k的数据(8个数据页,一个区)作为操作单元。 区是管理空间的基本单位。 一个区是八个物理上连续的页(即64 kb)。 这意味着sql server数据库中每mb有16个区。 为了使空间分配更有效,sql server不会将所有区分 配给包含少量数据的表。 sqlserver有两种类型的区: 统一区,由单个对象所有。 区中的所有8页只能由所属对象使用。 混合区,最多可由八个对象共享。 区中八页的每页可由不同的对象所有。 通常从混合区向新表或索引分配页。 当表或索引增长到8页时,将变成使用统一区进行后 续分配。 如果对现有表创建索引,并且该表包含的行足以在索引 中生成8页,则对该索引的所有分配都使用统一区进行。 为何会这样呢? 其实很简单: 读或写8kb的时间与读或写64 kb的时间几乎相同。 在8 kb到64 kb范围之内,单个磁盘i/o传输操作 所花的时间主要是磁盘取数臂和读/写磁头运动的时间。 此,从数学上来讲,当需要传输64 kb以上的sql数 据时, 尽可能地执行64 kb磁盘传输是有益的,即分成数个 64k的操作 为64 kb传输基本上与8 kb传输一样快,而每次 传输的sql server数据是8 kb传输的8倍。 我们通过一个实例来看有and操作符时候的最常见的 一种情况。 我们有下面一个表, create table . ( . identity(1,1) not null, . not null, . not null, . null, . not null, . not null, not null, . not null, . not null, . null, null, not null default (getdateO), not null default (dateadd(year,1,getdate())), . not null, . null, null default (0), null default (0), . not null default (‘ ‘)) 这个表具备下面的四个索引 索引名细节索引的列 member_corporation_link nonclustered located on primary corp_no member_ident clustered, unique, primary key located on primary member_no member_region_link nonclustered located on primary region_no meraberfirstname nonclustered located on primary firstname 当我们执行下面的sql查询时候, select m. member_no, m. firstname, m. region_nofrom dbo. member as mwhere m. firstname like ‘kV and m. region一no 6 and m. member_no select a. member_no,a. firstname,b. region_nofrom(select m. member_no, m. firstname from dbo. member as m where m. firstname like ‘k%’ and m. member—no (select m. member_no, m. region_no from dbo. member as mwhere m. region_no 6) b --这个查询可以直接使用member_region_link非聚 集索引,而且这个非聚集索引覆盖了所有查询列一实际执 行时,只需要逻辑读取10次 where a. member no = b. member no 不信,你可以看这两个sql的执行计划,以及逻辑读信 息,都是一样的。 其实上面的sql,如果优化成下面的方式,实际的逻辑 读消耗也是一样的。 为何s

文档评论(0)

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

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

1亿VIP精品文档

相关文档