本文已参与「新人创作礼」活动,一起开启掘金创作之路。
1.下列有关数据库运行维护过程中数据库的重组和重构操作,说法错误的是 A、升级数据库软件版本属于数据库重构操作 B、整理回收空间碎片属于数据库重组操作 C、改变某一列的数据类型属于数据库重构操作 D、调整数据库服务器磁盘分区属于数据库重组操作 参考答案为A
解析:调整一个数据库应用系统的性能要求熟悉系统环境、数据库管理系统、应用程序以及应用程序所使用的数据。数据库性能优化是对数据库管理员的严峻考验,有时候对应用程序的修改需要应用开发人员配合才能完成。故答案为A。
2.下列关于数据库优化的说法,错误的是 A、性能优化操作由DBA完成,应用开发人员无需参与 B、增加数据库内存数量可以在一定程度上降低数据库服务器IO操作 C、性能优化过程有可能需要对应用系统相关程序进行修改 D、为了提高系统写性能,可以考虑将RAID5改为RAID1 参考答案为D
解析:派生性冗余列是指表中增加的列由表中的一些数据项经过计算生成。它的作用是在查询时减少连接操作,避免使用聚合函数。由于增加了派生性冗余字段,破坏了规范化规则。故答案为D。
3.数据库优化工作中,下列关于增加冗余列的说法,错误的是 A、该方法将增加数据库存储空间 B、该方法实施后的关系模式将不符合第三范式要求 C、该方法实施后,需要使用触发器或应用程序改造等方法保证数据一致性 D、该方法一般不能减少查询时的连接操作 参考答案为
解析:
4.在数据库系统运维过程中,当对有索引表的数据进行大量更新后,为了提高数据库查询性能,下列操作中,一般情况下最合适的是 A、重新启动数据库 B、将该表数据导出后重新导入 C、重建该表上的索引并重启数据库 D、重建该表上的索引 参考答案为D
解析:除了删除或创建索引,以及非聚簇索引和聚簇索引的相互转换外,通过重建索引可以改进系统的性能。故答案为D。
5.下列关于数据库设计、运行和维护工作的叙述,错误的是 A、数据库应用系统投入运行标志着数据库设计工作结束,数据库进入运维阶段 B、数据的备份和恢复一般由数据库管理员负责 C、为了保证数据可靠性,可以考虑将多个数据副本放到不同的地点 D、运维过程中,应对空间使用的增长情况进行监控 参考答案为A
解析:数据库应用系统投入运行标志着系统开发任务的基本完成和系统运行维护工作的开始。故答案为A。
6.下列关于数据库运行状态监控与分析的说法,错误的是 A、需对数据库内存使用情况进行监控 B、一般由数据库自动完成,很少手工进行 C、监控分析结果可为系统安全运行与性能调优提供依据 D、数据库空间监控是运行状态监控的重要组成部分 参考答案为B
解析: 根据监控分析实现的方法不同,监控分析机制分为两种,一种是由数据库系统建立的自动监控机制,另一种是由管理员手动实施的监控机制。故答案为B。
7.下列关于数据库性能优化的说法,错误的是 A、性能优化过程一般无需对应用系统相关程序进行修改 B、性能优化中外部环境调整包括对CPU、网络等的调整 C、在进行性能优化前,首先需要确定优化目标 D、性能优化过程中需要对应用系统业务有一定了解 参考答案为A
解析:数据库性能优化会涉及到数据库的重组和重构。数据库的重组并不修改数据库原有设计的逻辑结构和物理结构,而数据库的重构则不同,它是指部分修改数据库的模式和内模式。故答案为A。
8.在数据库优化工作中,下列关于分割表的说法,错误的是 A、水平分割后的所有表的结构都相同 B、当表中的数据是局部使用,很少全局查询时,采用水平分割可以带来效率提高 C、对表进行水平分割会增加数据库存储空间 D、垂直分割后的表都需要包含原表的主码 参考答案为C
解析:水平分割是根据数据行的使用特点进行分割,分割之后所得的所有表的结构都相同,而存储的数据不同。水平分割会给应用增加复杂度,特别在查询所有数据时需要Union(并)操作;大部分情况是局部使用,只有很少情况才全局查询时适合使用此方法。而垂直分割是根据列的特点进行分割,分割之后所得的所有表中除了都含有主码列外其余列都不同,其查询时会减少I/O次数,但其缺点是查询所有数据时需要Join (连接)操作。故答案为C。
9.在数据库系统优化过程中,下列关于数据库模式调整与优化的说法,错误的是 A、在数据库设计初期就应该根据性能要求进行去规范化设计 B、规范化可以解决数据维护异常问题,但有可能带来数据使用性能下降问题 C、在进行模式调整和优化之后,可能需要使用一定手段实时或定时保持数据的一致性 D、新增汇总表、增加冗余列方法都会造成数据库空间使用增加 参考答案为A
解析:在数据库设计阶段,主要强调的是高效率利用存储空间,减少数据的冗余,减少数据的不一致,这个过程也就是规范化的过程。规范化关系解决了数据维护的异常,并使冗余最小化,然而,可能会出现数据处理性能下降的问题。在大多数情况下,数据库系统需要考虑的第二个目标是高效率的数据处理,反规范化处理,如增加派生冗余列,增加冗余列,重新组表、分割表和新增汇总表可以有效地提高查询效率。故答案为A。
10.下列关于数据库索引使用的说法,错误的是 A、索引可以提高查询效率,因此在有索引情况下,数据库总会使用索引 B、在进行范围查询时,散列索引无效 C、在经常进行排序的列上可以考虑建立索引 D、表中数据大量更新后,需考虑重建索引以提高查询效率 参考答案为A
解析:建立索引的目的就是为了提高查询效率,查询的性能在很大程度上取决于存在什么样的索引来加快选择和连接的处理。另一方面,在插入、删除或更新操作中,索引的存在又增加了系统的开销。因此,要在加快查询与事务处理效率方面获得好处与增加开销之间进行权衡。当数据库表进行更新大量数据后,删除并重建索引也可以提高查询速度。例如,大部分关系数据库管理系统使用B+树作为索引,如果在索引码上执行大量删除操作,索引页可能会出现空间的浪费,而这些浪费的空间可能需要在重建索引后才能被重用。同样,过多的插入操作也会导致聚簇索引的溢出,这也会影响到性能。由此可见,A选项观点太绝对。散列索引适用于等值查询,尤其是在连接操作中查找匹配记录时。故答案为A。
11.数据库系统运行维护工作的主要目的是保证数据库系统稳定运行。下列工作中属于数据库运行维护工作的是 A、机房巡检 B、新建数据库用户 C、网络光纤割接 D、编写HTML代码 参考答案为B
解析:数据库运行维护工作主要包括数据库的转储和恢复;数据库的安全性和完整性控制;数据库性能的监控分析和改进;数据库的重组和重构。其中新建数据库用户属于数据库的安全性和完整性控制的一项功能。故答案为B。
12.下列有关数据库优化的说法,正确的是 A、很多情况下,数据库性能优化需要研发人员和DBA共同配合完成 B、增加数据库CPU数量一定会提高数据库查询速度 C、为了提高系统写性能,可以考虑将RAID1改为RAID5 D、数据库管理员进行优化时需要对数据库系统有深入了解,但无需了解业务系统 参考答案为A
解析:数据库系统运行需要依赖服务器、操作系统、存储、网络等多种因素。单纯地增加数据库CPU数量并不一定会提高数据库查询速度。RAID1提高了读速度, 加强了系统的可靠性,但是磁盘的利用率低,冗余度高,写的速度并未提高。数据库管理员进行优化时需要对数据库系统有深入了解,对业务系统也要深入了解。故答案为A。
13.在数据库优化工作中,有关增加冗余列的说法,正确的是 A、该方法实施后的关系模式一般不符合第三范式要求 B、该方法不能减少查询时的连接操作 C、派生性冗余列一般不增加数据库空间使用 D、该方法可以减少数据库分组操作带来的资源消耗 参考答案为A
解析:反规范化是将规范化的关系转换为非规范化的关系的过程。常用的反规范化方法有增加派生冗余列、增加冗余列、重新分组、分割表和新增汇总表等。增加冗余列的目的就是避免查询时的连接操作。派生性冗余列是指表中增加的列由表中一些数据项经过计算生成,它的作用是在查询时减少连接操作,避免使用聚合函数,以牺牲空间来换取减少查询时间的目的。该方法可以减少数据库连接操作带来的资源消耗,而不是分组。故答案为A。
14.索引是数据库中重要的数据结构,当删除表中大量数据后,为了提高数据库性能,下列有关该表索引的说法,正确的是 A、无需对该表索引进行任何操作 B、建议重建该表上的索引 C、仅需重建该表上的唯一索引 D、仅需重建该表上的非B树索引 参考答案为B
解析:如果在索引码上执行大量删除操作,索引页可能会出现空间的浪费,而这些被浪费的空间需要在重建索引后才能提高数据库的性能。故答案为B。
15.下列关于数据库设计、运行和维护工作的说法,正确的是 A、数据库设计过程中,数据库的一致性设计往往以牺牲效率为代价 B、数据库设计过程中,提高数据库安全性的同时一般也会提高数据库性能 C、数据库应用系统正式投入运行后,开发团队将不再参与此应用后期工作 D、数据库维护的主要工作内容是进行数据库数据备份操作 参考答案为A
解析:数据库设计过程中,提高数据库安全性的同时不一定能提高数据库性能。数据库应用系统正式投入运行后,开发团队还要参与此应用后期工作,如数据库的优化需要开发团队的配合。数据库维护的主要工作内容是日常维护、系统监控与分析、系统性能优化调整、系统进化(升级)等工作。数据库数据备份只是属于数据库日常维护的一小部分。故答案为A。