• 存储优化知识复习二详细版解析


    存储优化 知识复习二

    一、 选择题

    1、 对数据库调优的方法中,最困难但是最有成效的是( )。
    A、优化表的架构设计 B、添加内存 C、索引优化 D、查询语句优化

    【参考答案】A
    
    • 1

    2、 防止与处理死锁的方法有( )。
    A、尽量避免或尽快处理阻塞 B、访问数据的顺序要相同
    C、让不同的连接使用相同的锁 D、提供不同的数据访问路径

    【参考答案】ABCD
    
    • 1

    3、 查询语句的执行顺序为( )。
    A、select B、from C、where D、group by E、having F、order by

    【参考答案】BCDEAF
    
    • 1

    4、 下面属于提高数据库运行效率的方法有( )。
    A、降低范式 B、增加冗余
    C、少用触发器 D、多用存储过程

    【参考答案】ABCD
    
    • 1

    5、 SQL Serve的性能分析工具有( )。
    A、Windows 系统监视器 B、SQL Serve事件探查器 C、动态管理视图
    D、性能仪表板报表 E、活动监视器 F、SQL Server 代理警报
    G、数据引擎优化顾问 H、查询执行计划

    【参考答案】ABCDEFGH
    
    • 1

    二、 判断题

    1、一个事务读取到了另一个事务未提交的数据操作结果称为脏读。这是相当危险的,因为很可能所有的操作都被回滚。

    【参考答案】对
    
    • 1

    2、当内存数据页与磁盘数据页内容不一致的时,这个内存页称为“脏页”。

    【参考答案】对
    
    • 1

    3、冗余的字段会占用数据库空间,因此我们反对数据库的冗余。

    【参考答案】错
    
    • 1

    4、当表的元组数超过千万时,为提高查询速度,最好将表进行水平分割。

    【参考答案】对
    
    • 1

    5、当表的属性超过一百个,最好将表进行垂直分割。

    【参考答案】对
    
    • 1

    6、如果学生成绩表中有学号和课程号,根据最左前缀原则,建立多列索引(学号,课程号)比(课程号,学号)更优。

    【参考答案】对
    
    • 1

    7、查询分析器可确定SQL语句预执行的步骤,进而确定最耗性能的步骤。

    【参考答案】对
    
    • 1

    8、避免在索引列上使用计算。语句SELECT … FROM DEPT WHERE SAL * 12 > 25000; 会导致优化器将不使用索引而使用全表扫描。

    【参考答案】对
    
    • 1

    9、WHERE子句中,用>=替代>更优。如语句:SELECT * FROM EMP WHERE DEPTNO >=4 比语句: SELECT * FROM EMP WHERE DEPTNO >3 低效。

    【参考答案】错
    
    • 1

    10、优化UPDATE事务时,尽量将需要更新的数据放在一张较小的表中。

    【参考答案】对
    
    • 1

    三、 简答题

    1、 简述索引碎片产生的原因、影响及解决方法。
    原因:

    
    数据的变动导致页分离
    Insert操作导致空间不够
    修改数据导致空间不够
    
    • 1
    • 2
    • 3
    • 4

    影响:

    
    Disk I/O增加
    查询时间变长
    性能下降
    
    • 1
    • 2
    • 3
    • 4

    解决方法:

    
    定期整理索引碎片(碎片<30% )
    定期重建索引(碎片>30% )
    使用填充因子(减缓碎片的产生 )
    
    • 1
    • 2
    • 3
    • 4

    2、 试简述数据库调优可采取的方法。
    架构设计

    查询优化
    •存储过程
    •视图
    
    • 1
    • 2
    • 3
    索引优化
    •覆盖查询
    并发控制
    •锁
    •事务
    
    • 1
    • 2
    • 3
    • 4
    • 5
    存储优化
    •文件组
    •分区
    
    • 1
    • 2
    • 3
    服务器优化
    •内存
    •处理器亲和度
    
    • 1
    • 2
    • 3

    3、 索引通常采用树结构,试简述二叉树、最优二叉树、平衡二叉树、红黑树、B树、B+树的定义及区别。
    二叉树:

    二叉树(binary tree)是指树中节点的度不大于2的有序树,它是一种最简单且最重要的树。
    
    • 1

    最优二叉树

    给定N个权值作为N个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树。
    
    • 1

    平衡二叉树

    平衡二叉树(Balanced Binary Tree)又被称为AVL树(有别于AVL算法),且具有以下性质:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。
    
    • 1

    红黑树

    红黑树是每个结点都带有颜色属性的二叉查找树,颜色或红色或黑色。 [3]  在二叉查找树强制一般要求以外,对于任何有效的红黑树我们增加了如下的额外要求:
    结点是红色或黑色。
    根结点是黑色。
    所有叶子都是黑色。(叶子是NIL结点) 
    每个红色结点的两个子结点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色结点)
    从任一节结点其每个叶子的所有路径都包含相同数目的黑色结点。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    B树

    一棵m阶B树(balanced tree of order m)是一棵平衡的m路搜索树。它或者是空树,或者是满足下列性质的树:
    1. 根结点至少有两个子女;
    2. 每个非根节点所包含的关键字个数 j 满足:┌m/2┐ - 1 <= j <= m - 13. 除根结点以外的所有结点(不包括叶子结点)的度数正好是关键字总数加1,故内部子树个数 k 满足:┌m/2┐ <= k <= m ;
    4. 所有的叶子结点都位于同一层。
    
    • 1
    • 2
    • 3
    • 4
    • 5

    B+树

    B+树是B树的一种变形形式,B+树上的叶子结点存储关键字以及相应记录的地址,叶子结点以上各层作为索引使用。一棵m阶的B+树定义如下: 
    (1)每个结点至多有m个子女; 
    (2)除根结点外,每个结点至少有[m/2]个子女,根结点至少有两个子女; 
    (3)有k个子女的结点必有k个关键字。
    
    • 1
    • 2
    • 3
    • 4

    4、 试简述空间数据库的R树索引原理。

    1. 为实现R树结构,用最小边界矩形恰好框住各数据围成的一个区域(在图中用实线矩形表示),得到若干个最小边界矩形,如R8,R9,R10,R11等。
    2. 其中R8,R9,R10三个矩形距离最近,用一个更大的矩形R3(在图中用虚线矩形表示)框住三个矩形。
    3. 通过不断的迭代,用更大的矩形框住所有矩形。将所有大大小小的矩形存入R树中。
      01
  • 相关阅读:
    前后端分离项目,vue+uni-app+php+mysql电影院售票系统(H5移动项目) 开题报告
    ModStartCMS v7.3.0 富文本MP3支持,后台组件优化
    (附源码)计算机毕业设计JavaJava毕设项目财务管理系统的设计与实现
    「聊设计模式」之外观模式(Facade)
    【Docker】uwsgi的测试test.py显示hello-world -20220802
    SpringMVC框架中@Controller类的方法的返回值的详细介绍
    【周报2023-11-17】
    Pyecharts绘制动态地图
    电子组装行业的MES系统需求分析以及发展痛点 先达智控
    初学者必学,Python加减乘除四则运算,两数之和的简单算法,精华满满的
  • 原文地址:https://blog.csdn.net/m0_58503202/article/details/133978196