温馨提示,练前必看
**本人考试学习时整理的,如有错误理解欢迎评论区指错**
**如有侵权可以联系我删除,但是是真题和知识点应该没啥侵权问题吧**
**有引用一些别人的文档做知识点,仅作参考,可以联系我删除**
**参考的文章太多了,我就不在最后一一指出了呜呜呜谢谢大家理解**
这是第十章的题目,暂时没有看到合适的知识点,欢迎补充
答案和解析在最后哦(有自己琢磨的思考和补充的知识点)~
题目
第1题:已知有关系:学生(学号,姓名,性别,年龄),对该关系有如下查询操作:SELECT学号FROM学生
WHERE性别='男'AND年龄!=25ORDERBY姓名
为了加快其查询速度,则应该()。
A、在学号上建索引
B、在姓名上建索引
C、在性别上建索引
D、在年龄上建索引
第2题:连接操作是数据库中非常耗时的操作。下面列出了数据库中一些提高性能的做法:
I.增加冗余列,也就是将一个表的列复制到另外一个表中
II.反规范化,也就是降低表的规范化程度
III.在相关列上建立索引
IV.将表组织为聚集文件
以上做法中,能提高连接操作性能或减少连接操作的是()。
A、仅I、II和III
B、仅I、II和IV
C、仅II、III和IV
D、全部都是
第3题:已知有关系:员工(员工号,姓名,年龄,性别),员工人数多且男女分布均匀,对该关系有如下查询操作
SELECT 性别FROM员工
WHERE性别='男'AND年龄=40
在下面的创建索引的建议中,对该查询运行效率改进最显著的是()。
A、在性别上建索引
B、在年龄上建索引
C、在(年龄,性别)上建索引
D、在(性别,年龄)上建索引
第4题:关于优化查询说法正确的是()
A、避免或简化排序的目的是实现查询优化
B、在保证数据库一致性的前提下,将频繁操作的多个可以分割的处理过程放在一个存储过程中,这样可以大大提高系统的响应速度
C、使用临时表会占用较多的系统资源,尤其对于大规模并发量的情况下,很容易使得系统资源耗尽而崩溃
D、相关子查询的使用可以加速查询
第5题:通过引入汇总表来提高一些经常执行的聚集查询的性能,这属于下列数据库应用系统开发过程中哪个阶段的任务?()
A、需求分析 B、系统设计 C、实现与部署 D、运行和维护
第6题:在SQL Server 2008中,常常会发生数据库数据过大的情况,此时则需要对表进行处理,通常可采用人工分割表的方法优化性能。下列有关分割表的说法,错误的是()
A、水平分割后,得到的子表结构相同
B、水平分割后,查询表中所有数据时需要使用JOIN操作
C、垂直分割后,所有表中均需保留原有表的主码
D、当查询表中所有数据时,使用分割表方法会增加查询表达式的复杂度
第7题:数据库系统运行维护是数据库管理员的重要工作。下列工作中不属于数据库运维工作的是
A、定期进行数据库备份
B、定期检查系统的源程序代码,确保系统正常运行
C、定期检查数据库存储空间
D、定期检查数据库锁情况
第8题:数据库系统运行维护是数据库管理员的重要工作。下列工作中不属于数据库运维工作的是
A、定期检查数据库中的无效对象
B、定期修改数据库管理员密码
C、定期清理数据库的存储空间
D、定期进行运行环境网络安全扫描
第9题:下列有关数据库优化的说法,正确的是
A、在查询语句速度较慢时,可考虑根据查询条件建立索引
B、增加服务器CPU一定可以提高数据库查询速度
C、将系统的存储冗余方案从RAID0改为RAID1可以提高数据库读性能
D、将数据库服务器网卡从千兆升级到万兆,总可以提高查询速度
第10题:下列关于数据库优化的说法,错误的是
A、增加索引绝大多数情况下会降低delete语句的执行效率
B、增加服务器CPU未必可以提高数据库查询速度
C、将数据库的存储冗余机制从RAID5改为RAID1,可以提高数据库写性能
D、将数据库服务器网卡从千兆升级到万兆,未必能提高查询速度
答案及解析
第1题
正确答案:B
使用索引的原则:
①在需要经常搜索的列上创建索引。
②主键上创建索引。
③经常用子连接的列上创建索引。
④经常需要根据范围进行搜索的列上创建索引。
⑤经常需要排序的列上创建索引。
⑥在where查询子句中引用效率高的列上创建索引。
⑦在Order By子句、Group By子句中出现的列上建立索引。
第2题
正确答案:D
常见能提高连接操作性能或者减少连接操作的是:增加冗余列,指在多个表中增加具有相同语义的列,它常用来在查询时避免连接操作﹔反规范化,也就是降低表的规范化程度,减少表间的连接,提高查询性能;对于经常需要进行查询、连接、统计操作,且数据量大的基本表可以建立索引提高查询效率﹔聚集文件可以提高频繁进行多表连接操作的查询效率。
第3题
正确答案: C
对于复合索引,在查询使用时,最好将where条件顺序作为索引的顺序。本题中男女分布均匀,因此在建立复合索引时(年龄,性别)的顺序比(性别、年龄)的顺序更容易提高查询效率。
第4题
正确答案:A
在保证数据库一致性的前提下,将频繁操作的多个可以分割的处理过程放在多个存储过程中,这样可以大大提高系统的响应速度。使用游标会占用较多的系统资源,尤其对于大规模并发量的情况下,很容易使得系统资源耗尽而崩溃,而使用临时表能够加速查询。相关子查询的不可以加速查询。
第5题
正确答案:D
数据库运行维护与优化包括数据库的转储和恢复;数据库的安全性和完整性控制;数据库性能的监控分析和改进;数据库的重组和重构。其中引入汇总表是属于数据库性能优化的一部分。
第6题
正确答案:B
分割表增加了维护数据完整性的代价。分割表分为水平分割表和垂直分割表两种。
水平分割表:一种是当多个过程频繁访问数据表的不同行时,水平分割表,并消除新表中的冗余数据列;另一种是当主要过程要重复访问部分行时,最好将被重复访问的这些行单独形成子集表(冗余储存),这在不考虑磁盘空间开销时显得千分重要,但在分割表以后,增加了维护难度,要用触发器立即更新、或用存储过程及应用代码批量更新,这也会增加额外的磁盘IO开销。
垂直分割表(不破坏第三范式):一种是当多个过程频繁访问表的不同列时,可将表垂直分成几个表,减少磁盘Io(每行的数据列少,每页存的数据行就多,相应占用的贡就少),更新时不必考虑锁,没有冗余数据。缺点是在插入或删除数据时要考虑数据的完整性,用存储过程维护。另一种是当主要过程反复访问部分列时,最好将这部分被频繁访问的歹数据单独存为一个子集表(冗余储存),这在不考虑磁盘空间开销时显得十分董要,但因此增加了重叠列的维护难度,要用触发器立即更新、或用存储过程及应用代码批量更新,这也会增加额外的磁盘IO开销。垂直分割表可以达到最大化利用Cache的目的。
水平分割后,查询数据需要使用UNION操作。垂直分割后,查询数据需要JOIN操作。
第7题
正确答案:B
数据库维护工作主要包括:数据库的转储和恢复;数据库的安全性和完整性控制;数据库性能的监控分析和改进;数据库的重组和重构。在数据库系统运行过程中必须不断地对其进行监控、评价、调整与修改,以保证数据库系统正常和高效地的运行。
定期检查系统的源程序代码,确保系统正常运行,是系统开发人员的工作。
第8题
正确答案:D
数据库维护工作主要包括:数据库的转储和恢复;数据库的安全性和完整性控制;数据库性能的监控分析和改进;数据库的重组和重构。在数据库系统运行过程中必须不断地对其进行监控、评价、调整与修改,以保证数据库系统正常和高效地的运行。
定期进行运行环境网络安全扫描属于数据库性能优化。
第9题
正确答案:A
数据库性能优化是数据库应用系统上线后最常见的运行维护任务之一。数据库性能优化对数据库管理员的要求也较高。调整一个数据库应用系统的性能要求熟悉系统环境、数据库管理系统、应用程序以及应用程序所使用的数据。单纯增加数据库CPU数量和增加服务器内存未必会提高数据库查询速度,另外数据库性能优化需要开发人员参与,也需要了解系统的业务功能和业务流程。网络性能也会影响数据库的性能,但未必一定会提高查询速度。将系统的存储元余方案从RAID0改为RAID1,可以加强系统的可靠性,但没有提高数据库的读写能力。根据查询条件,在适合的字段上面建立索引,一般会提高查询速度。
第10题
正确答案:A
数据库性能优化是数据库应用系统上线后最常见的运行维护任务之一。数据库性能优化对数据库管理员的要求也较高。调整一个数据库应用系统的性能要求熟悉系统环境、数据库管理系统、应用程序以及应用程序所使用的数据。单纯增加数据库CPU数量和增加服务器内存未必会提高数据库查询速度,另外数据库性能优化需要开发人员参与,也需要了解系统的业务功能和业务流程。将数据库的存储冗余机制从RAID5改为RAID1,可以提高数据库写性能。另外,单纯升级服务器网卡,未必会提高查询速度。