第07章 数据库设计(4)

时间:2025-02-24

数据库系统概论

数据库系统概论An Introduction to Database System

第七章 数据库设计 (4) (4)

An Introduction to Database System

数据库系统概论

实例1---电信通话信息系统 电信通话信息系统 实例问题描述 该系统投入运行后正常, 该系统投入运行后正常,四个月时开始出现 复杂条件的查询得不到结果的情况。原因何在? 复杂条件的查询得不到结果的情况。原因何在? 复杂条件的SQL语句查询造成超时; 复杂条件的SQL语句查询造成超时; SQL语句查询造成超时 发现是对单表查询,该表的记录数将近2000万 发现是对单表查询,该表的记录数将近2000万 2000 且每天以20万条的速度增加; 20万条的速度增加 条,且每天以20万条的速度增加; 由于查询数据表中的记录数过多引起的。 由于查询数据表中的记录数过多引起的。 采用何种方法才能提高大数据量表的查询效率? 采用何种方法才能提高大数据量表的查询效率?2

An Introduction to Database System

数据库系统概论

实例1---电信通话信息系统 电信通话信息系统 实例sector record_date start_of_time end_of_time city_name city_id omc_id mm_id …… 分区编号 记录日期 开始时间 结束时间 城市名称 城市编号

……An Introduction to Database System 3

数据库系统概论

实例1---电信通话信息系统 电信通话信息系统 实例解决办法: 解决办法: 大数据量表的查询属于数据库优化的一个方面 优化原则:尽量减少I/O次数; 优化原则:尽量减少I/O次数; I/O次数 具体做法:采用水平分区的方法 具体做法: 将一个表分割成结构相同的几个表, 将一个表分割成结构相同的几个表,每个 表中只包含大表中的一部分数据行。查询时, 表中只包含大表中的一部分数据行。查询时, 就可以只查询包括查询结果在内的一、 就可以只查询包括查询结果在内的一、两个小 I/O数量大幅降低 数量大幅降低。 表,使I/O数量大幅降低。An Introduction to Database System 4

数据库系统概论

实例1---电信通话信息系统 电信通话信息系统 实例具体实现: 具体实现: (1)以月份为单位将数据表拆分为多张小表; (1)以月份为单位将数据表拆分为多张小表; 以月份为单位将数据表拆分为多张小表sector record_date start_of_time end_of_time city_name city_id omc_id mm_id …… 分区编号 记录日期 开始时间 结束时间 城市名称 城市编号

拆分后的小表的名称为: 拆分后的小表的名称为: Pm_hour_sector_200701 Pm_hour_sector_200702 Pm_hour_sector_200703 Pm_hour_sector_200704 ……An Introduction to Database System 5

……

数据库系统概论

实例1---电信通话信息系统 电信通话信息系统 实例具体实现: 具体实现: (2)查询数据合并; (2)查询数据合并; 查询数据合并 表分区减少了查询时I/O的数量, 表分区减少了查询时I/O的数量,但是

增加 I/O的数量 了查询时选择表的负担。 了查询时选择表的负担。 Server通过使用分区视图将数据合并 通过使用分区视图将数据合并, SQL Server通过使用分区视图将数据合并, 利用单一视图面对应用程序, 利用单一视图面对应用程序,这样简化了查询 数据操作。 数据操作。

An Introduction to Database System

数据库系统概论

实例1---电信通话信息系统 电信通话信息系统 实例具体实现: 具体实现: (2)查询数据合并; (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 ……An Introduction to Database System 7

数据库系统概论

实例1---电信通话信息系统 电信通话信息系统 实例具体实现: 具体实现: (3)查询优化的条件; (3)查询优化的条件; 查询优化的条件 分区视图的核心内容: 分区视图的核心内容:要求针对该视图执行的 任何查询都被优化成只执行查询结果所涉及的 基本表,其余表自动忽略。 基本表,其余表自动忽略。 对分区视图的限制:每张表必须建立check check约 对分区视图的限制:每张表必须建立check约 限制该表存放的数据彼此的范围不重叠。 束,限制该表存放的数据彼此的范围不重叠。 这样, Server才能做出相应的优化选择 才能做出相应的优化选择。 这样,SQL Server才能做出相应的优化选择。An Introduction to Database System 8

数据库系统概论

实例1---电信通话信息系统 电信通话信息系统 实例具体实现: 具体实现: 为小表增加time_id字段, numeric类型 time_id字段 类型, 为小表增加time_id字段,是numeric类型, 存放时间信息,格式yymmddhhmm yymmddhhmm, 存放时间信息,格式yymmddhhmm,如: pm_hour_sector_200701表建立的约束为 表建立的约束为: pm_hour_sector_200701表建立的约束为:time_id between 200701010000 and 200701312359。 。

建立常用字段的非聚簇索引 (4)解决后的执行情况 解决后的执行情况; (4)解决后的执行情况; 一条查询语句的执行情况: 一条查询语句的执行情况: 前者的执行结果是20s 后者是2s 20s, 2s。 前者的执行结果是20s,后者是2s。An Introduction to Database System 9

数据库系统概论

实例1---电信通话信息系统 电信通话信息系统 实例存在问题: 存在问题: 1.按时间存取数据的小表谁来创建? …… 此处隐藏:2794字,全部文档内容请下载后查看。喜欢就下载吧 ……

第07章 数据库设计(4).doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219