第07章数据库设计.pptVIP

  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文档。上传文档
查看更多
An Introduction to Database System 实例1---电信通话信息系统 问题描述 该系统投入运行后正常,四个月时开始出现复杂条件的查询得不到结果的情况。原因何在? 复杂条件的SQL语句查询造成超时; 发现是对单表查询,该表的记录数将近2000万条,且每天以20万条的速度增加; 由于查询数据表中的记录数过多引起的。 采用何种方法才能提高大数据量表的查询效率? 实例1---电信通话信息系统 实例1---电信通话信息系统 解决办法: 大数据量表的查询属于数据库优化的一个方面 优化原则:尽量减少I/O次数; 具体做法:采用水平分区的方法 将一个表分割成结构相同的几个表,每个表中只包含大表中的一部分数据行。查询时,就可以只查询包括查询结果在内的一、两个小表,使I/O数量大幅降低。 实例1---电信通话信息系统 具体实现: (1)以月份为单位将数据表拆分为多张小表; 实例1---电信通话信息系统 具体实现: (2)查询数据合并; 表分区减少了查询时I/O的数量,但是增加了查询时选择表的负担。 SQL Server通过使用分区视图将数据合并,利用单一视图面对应用程序,这样简化了查询数据操作。 实例1---电信通话信息系统 具体实现: (2)查询数据合并; 分区视图的定义为: CREATE VIEW Pm_hour_sector_history_view as select * from pm_hour_sector_200701 union all select * from pm_hour_sector_200702 union all …… 实例1---电信通话信息系统 具体实现: (3)查询优化的条件; 分区视图的核心内容:要求针对该视图执行的任何查询都被优化成只执行查询结果所涉及的基本表,其余表自动忽略。 对分区视图的限制:每张表必须建立check约束,限制该表存放的数据彼此的范围不重叠。这样,SQL Server才能做出相应的优化选择。 实例1---电信通话信息系统 具体实现: 为小表增加time_id字段,是numeric类型,存放时间信息,格式yymmddhhmm,如: pm_hour_sector_200701表建立的约束为: time_id between 200701010000 and 200701312359。 建立常用字段的非聚簇索引 (4)解决后的执行情况; 一条查询语句的执行情况: 前者的执行结果是20s,后者是2s。 实例1---电信通话信息系统 存在问题: 1.按时间存取数据的小表谁来创建? 手工还是程序? 2.小数据表增加以后,分布视图谁来负责更新? 3.小表和视图变动后,应用程序中用户的访问权是否受到影响? 4.数据以何种方式存储在小表中? 可更新的分区视图还是单独编写程序进行数据存储的? 实例1---电信通话信息系统 实践经验: 1.在数据表中,数据大于1000万时,建议分区解决 2.小于1000万时,采用对常用查询字段建立非聚簇索引的方式进行优化。 3.实例验证,使用SQL Server可以管理800G以上的数据案例。 实例2---全国人口查询系统 问题描述 公安部准备将全国各省市的人口基本信息采集入库,目前已经确定每个具有身份证的中华人民共和国公民的基本信息包括两大部分: 文本信息:150KB 图象信息:50KB 建成后系统供全国所有可能的用户使用,包括企业、学校、政府、旅店和其他个人用户等等。 实例2---全国人口查询系统 系统要求: 按照某些条件查询某一个人是否存在,详细信息 系统中的数据不会频繁更新 实例2---全国人口查询系统 1.海量信息存储的问题 假设13亿人口的信息将存入系统,这个数据库的容量达到多少?如果再加上一部分已死亡人的信息,数据量将更大。 解决方案:SAN—存储区域网络 海量存储系统将数据集中起来存放,并且将存放介质与数据库服务器物理上隔离开来,其扩展性非常好。 实例2---全国人口查询系统 2.选用什么样的DBMS? 数据库的容量过大,有没有一种DBMS可以管理几百 TB 的数据? 一个数据库的最大容量可达多少? 数据库中一张表的最大容量是多少(存放的记录数)? 解决方案: (1)需要将这些

文档评论(0)

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

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

1亿VIP精品文档

相关文档