数据库索引设计与优化pdf

    数据库索引设计与优化pdf

    大小:83.37M

    更新时间:23-09-03

    系统:Pc

    开始下载
    数据库索引设计与优化是数据库领域的的重要理论大作,是每一个从事数据库领域工作者必读的一本书,由(美)拉赫登迈奇(Tapio Lahdenmaki),(美)利奇(Michael Leach) 著,曹怡倩,赵建伟翻译,电子工业出版社出版。
    全书花了大量的篇幅讲解索引基础的各种理论知识和如何综合评估索引使用的代价,而不是简单的介绍SQL的编写或SQL优化,当你认真熟读本书后,相信你对数据库的索引设计和代价评估等方面就可以很轻松的解决了。
    本书旨在——通过设计适用于现代硬件的索引,来提升关系型数据库的性能,欢迎免费下载阅读。

    内容介绍

    数据库索引设计与优化提供了一种简单、高效、通用的关系型数据库索引设计方法。作者通过系统的讲解及大量的案例清晰地阐释了关系型数据库的访问路径选择原理,以及表和索引的扫描方式,详尽地讲解了如何快速地估算SQL运行的CPU时间及执行时间,帮助读者从原理上理解SQL、表及索引结构、访问方式等对关系型数据库造成的影响,并能够运用量化的方法进行判断和优化,指导关系型数据库的索引设计。

    作者简介

    Tapio Lahdenmaki,数据库性能顾问,教授通用索引设计课程。他在IBM公司工作了三十多年,是公司课程中有关DB2(forz/OS)性能相关课程的主要作者。 
    Michael Leach,关系型数据库顾问,已从IBM公司退休,他拥有二十年的应用系统及数据库课程的教授经验。两位作者的文章均被翻译成了多国语言广为传播。他们有关索引设计的方法被成功应用于许多核心系统。

    数据库索引设计与优化章节目录

    第1章 概述
    关于SQL性能的另一本书
    不合适的索引
    误区和误解
    误区1:索引层级不要超过5层
    误区2:单表的索引数不要超过6个
    误区3:不应该索引不稳定的列
    示例
    磁盘驱动器使用率
    系统化的索引设计
    第2章 表和索引结构
    介绍
    索引页和表页
    索引行
    索引结构
    表行
    缓冲池和磁盘I/O
    从DBMS缓冲池进行的读取
    从磁盘驱动器进行的随机I/O
    从磁盘服务器缓存进行的读取
    从磁盘驱动器进行的顺序读取
    辅助式随机读
    辅助式顺序读
    同步I/O和异步I/O
    硬件特性
    DBMS特性
    页
    表聚簇
    索引行
    表行
    索引组织表
    页邻接
    B树索引的替代品
    聚簇的许多含义
    第3章 SQL处理过程
    简介
    谓词
    评注
    优化器及访问路径
    索引片及匹配列
    索引过滤及过滤列
    访问路径术语
    监控优化器
    帮助优化器(统计信息)
    帮助优化器(FETCH调用的次数)
    何时确定访问路径
    过滤因子
    组合谓词的过滤因子
    过滤因子对索引设计的影响
    物化结果集
    游标回顾
    方式1:一次FETCH调用物化一条记录
    方式2:提前物化
    数据库设计人员必须牢记
    练习
    第4章 为SELETE语句创建理想的索引
    简介
    磁盘及CPU时间的基础假设
    不合适的索引
    三星索引--查询语句的理想索引
    星级是如何给定的
    范围谓词和三星索引
    为查询语句设计zui佳索引的算法
    候选A
    候选B
    现今排序速度很快--为什么我们还需要候选B
    需要为所有查询语句都设计理想索引吗
    完全多余的索引
    近乎多余的索引
    可能多余的索引
    新增一个索引的代价
    响应时间
    磁盘负载
    磁盘空间
    一些建议
    练习
    第5章 前瞻性的索引设计
    发现不合适的索引
    基本问题法(BQ)
    注意
    快速上限估算法(QUBE)
    服务时间
    排队时间
    基本概念:访问
    计算访问次数
    FETCH处理
    主要访问路径的QUBE示例
    使用满足需求的成本zui低的索引还是所能达到的zui优索引:示例1
    该事务的基本问题
    对该事务上限的快速估算
    使用满足需求的成本zui低的索引还是所能达到的zui优索引
    该事务的zui佳索引
    半宽索引(zui大化索引过滤)
    宽索引(只需访问索引)
    使用满足需求的成本zui低的索引还是所能达到的zui优索引:示例2
    范围事务的BQ及QUBE
    该事务的zui佳索引
    半宽索引(zui大化索引过滤)
    宽索引(只需访问索引)
    何时使用QUBE
    第6章 影响索引设计过程的因素
    I/O时间估算的验证
    多个窄索引片
    简单就是美(和安全)
    困难谓词
    LIKE谓词
    OR操作符和布尔谓词
    IN谓词
    过滤因子隐患
    过滤因子隐患的例子
    zui佳索引
    半宽索引(zui大化索引过滤)
    宽索引(只需访问索引)
    总结
    练习
    第7章 被动式索引设计
    简介
    EXPLAIN描述了所选择的访问路径
    全表扫描或全索引扫描
    对结果集排序
    成本估算
    数据库管理系统特定的EXPLAIN选项及限制
    监视揭示现实
    性能监视器的演进
    LRT级别的异常监视
    程序粒度的均值是不够的
    异常报告举例:每个尖刺一行
    问题制造者和受害者
    有优化空间的问题制造者和无优化空间的问题制造者
    有优化空间的问题制造者
    调优的潜在空间
    无优化空间的问题制造者
    受害者
    查找慢的SQL调用
    调用级别的异常监视
    Oracle举例
    SQL Server举例
    结论
    数据库管理系统特定的监视问题
    尖刺报告
    练习
    第8章 为表连接设计索引
    简介
    两个简单的表连接
    例8.1:CUST表作为外层表
    例8.2:INVOICE表作为外层表
    表访问顺序对索引设计的影响
    案例研究
    现有索引
    理想索引
    理想索引,每事务物化一屏结果集
    理想索引,每事务物化一屏结果集且遇到FF缺陷
    基本连接的问题(BJQ)
    结论:嵌套循环连接
    预测表的访问顺序
    合并扫描连接和哈希连接
    合并扫描连接
    例8.3:合并扫描连接
    哈希连接
    程序C:由优化器选择MS/HJ(在现有索引条件下)
    理想索引
    嵌套循环连接VS. MS/HJ及理想索引
    嵌套循环连接VS. MS/HJ
    嵌套循环连接VS.理想索引
    连接两张以上的表
    为什么连接的性能表现较差
    模糊的索引设计
    优化器可能选择错误的表访问路径
    乐观的表设计
    为子查询设计索引
    为UNION语句设计索引
    对于表设计的思考
    冗余数据
    无意识的表设计
    练习
    第9章 星型连接
    介绍
    维度表的索引设计
    表访问顺序的影响
    事实表的索引
    汇总表
    第10章 多索引访问
    简介
    索引与
    与查询表一同使用索引与
    多索引访问和事实数据表
    用位图索引进行多索引访问
    索引或
    索引连接
    练习
    第11章 索引和索引重组
    B树索引的物理结构
    DBMS如何查找索引行
    插入一行时会发生什么
    叶子页的分裂严重吗
    什么时候应该对索引进行重组
    插入模式
    索引列的稳定性
    长索引行
    举例:对顺序敏感的批处理任务
    表乱序(存在聚簇索引)
    表乱序(没有以CNO开头的聚簇索引)
    存储在叶子页中的表行
    SQL Server
    Oracle
    索引重组的代价
    分裂的监控
    总结
    第12章 数据库管理系统相关的索引限制
    简介
    索引列的数量
    索引列的总长度
    变长列
    单表索引数量上限
    索引大小上限
    索引锁定
    索引行压缩
    数据库管理系统索引创建举例
    第13章 数据库索引选项
    简介
    索引行压缩
    索引键以外的其他索引列
    唯1约束
    从不同的方向扫描数据库索引
    索引键截断
    基于函数的索引
    索引跳跃式扫描
    块索引
    数据分区的二级索引
    练习
    第14章 优化器不是完美的
    简介
    优化器并不总能看见zui佳方案
    匹配及过滤问题
    非BT谓词
    无法避免的排序
    不必要的表访问
    优化器的成本估算可能错得离谱
    使用绑定变量的范围谓词
    偏斜分布
    相关列
    部分索引键的警示故事
    成本估算公式
    估算I/O时间
    估算CPU时间
    协助优化器处理估算相关的问题
    优化器的问题是否会影响索引设计
    练习
    第15章 其他评估事项
    QUBE公式背后的假设条件
    内存中的非叶子索引页
    例子
    磁盘服务器读缓存的影响
    缓冲子池
    长记录
    慢速顺序读
    实际的响应时间可能比QUBE评估值短得多
    叶子页和表页缓存在缓冲池中
    识别低成本的随机访问
    辅助式随机读取
    辅助式顺序读
    评估CPU时间(CQUBE)
    单次顺序访问的CPU时间
    单次随机访问的CPU时间
    单次FETCH调用的CPU时间
    每排序一行的平均CPU时间
    CPU评估举例
    宽索引还是理想索引
    嵌套循环(及反范式化)还是MS/HJ
    合并扫描与哈希连接的比较
    跳跃式顺序扫描
    CPU时间仍然不可忽视
    第16章 组织索引设计过程
    简介
    计算机辅助式索引设计
    设计出色索引的9个步骤
    参考文献
    术语表
    索引
    

    使用说明

    1、下载并解压,得出pdf文件
    2、如果打不开本文件,请务必下载pdf阅读器
    3、安装后,在打开解压得出的pdf文件
    4、双击进行阅读
    语言简体中文

    精品推荐

    同类热门

    南方Plus电脑版南方Plus电脑版 有柿电脑版有柿电脑版 开源阅读电脑版开源阅读电脑版 cnki全球学术快报电脑版cnki全球学术快报电脑版 网易云阅读电脑版网易云阅读电脑版 京东读书电脑版京东读书电脑版 未公开的Oracle数据库秘密未公开的Oracle数据库秘密 本草纲目本草纲目

    类似软件

    热门标签

    电脑开机加速软件合集 逐浪字体大全 常用的电脑聊天软件 电脑证件照片制作软件 网络测速软件大全 伴奏提取软件大全 文鼎字体大全 微课制作软件大全 电脑数据恢复软件大全 markdown编辑器大全 电脑装机必备软件大全 浩辰cad系列大全

    网友评论0人参与,0条评论

    最新排行

    手游排行软件排行热门应用