数据库
首页
题库首页
在线模考
取消
取消
hot
热门搜索
一级建造师块
热
消防工程师块
热
初级会计师
证券从业
电气工程师
银行招聘
教师资格块
热
基金从业
更多热门>>
简答题
(10分)在SQL Server 2008的数据库中存在如下两张关系表:
学生表(学号,姓名,性别,身份证号,系所号),学号为主码
系所表(系所号,系所名,系所简称),系所号为主码
在数据库中执行如下T-SQL代码:
(1)执行过程中发现速度比较缓慢,为了解决性能问题,需在功能不变的情况下,将此TSQL代码改为一条SQL语句:
s-选择 c-选择 (术)FROM学生表JOIN系所表ON学生表.系所号=系所表.系所号WHERE系所名LIKE´%电%´;
请分析此改变是否可以提高性能,并给出原因。
(2)学生表的身份证号和姓名上建有一个复合索引,索引建立语句为
CREATEINDEX idx_身份证号_姓名ON学生表(身份证号,姓名)
请指出如下两个查询语句能否使用此索引并说明原因。
s-选择 FROM学生表WHERE身份证号=´123456789012345678´;
s-选择 *FROM学生表WHERE姓名=´小明´;
参考答案
暂无
解析:
【解题思路】
本题考查的是T-SQL与SQL语句使用的区别,以及索引相关知识,如索引定义,在什么地方建立索引,建立索引的条件等等。
(1)T-SQL即Transact-SQL,是SQL在Microsoft SQL Server上的增强版,它是用来让应用程序与SQL Server沟通的主要语言。T-SQL提供标准SQL的DDL和DML功能,加上延伸的函数、系统预存程序以及程式设计结构(例如IF和WHILE)让程式设计更有弹性。
SQL是集DDL、DML、DCL为一体的标准关系数据库语言。其中DDL数据定义语言用于定义和管理SQL数据库中的所有对象的语言;DML数据操纵语言,SQL中处理数据等操作统称为数据操纵语言。
SQL作为结构化查询语言,是标准的关系型数据库通用的标准语言;T-SQL是在SQL基础上扩展的SQL Server中使用的语言。
(2)索引的知识
索引技术是一种快速数据访问技术,它将一个文件的每个记录在某个或某些领域(或称为属性)上的取值与该记录的物理地址直接联系起来,提供了一种根据记录域的取值快速访问文件记录的机制。索引的使用要恰到好处,其使用原则一般如下:
①经常在查询中作为条件被使用的列,应为其建立索引;
②频繁进行排序或分组(即进行group by或order by操作)的列,应为其建立索引;
③一个列的值域很大时,应为其建立索引;
④如果待排序的列由多个,应在这些列上建立复合索引。
【参考答案】
(1)s-选择 c-选择(*)FROM学生表JOIN系所表ON学生表.系所号=系所表.系所号WHERE系所名LIKE'%电%'性能更好。
原因:T-SQL的代码需要先扫描一遍系所表,然后根据扫描得到的每个记录重新扫描一遍学生表得出结果。使用所写的SQL语句实现同样的功能,将学生表和系所表连接之后按条件过滤,只需要扫描一遍连接之后的表即可。
(2)创建的复合索引对第二条语句的查询效率提高不明显,因为其是复合索引且身份证号排在前面,对查找姓名的查询效率提高不明显,而明显会提高第一条语句的查询效率。
点击查看答案
进入在线模考
你可能喜欢
单选题
论证是否具备数据库应用系统开发所需的人力资源,这属于数据库应用系统的( )。
A.操作可行性分析
B.经济可行性分析
C.技术可行性分析
D.开发方案可行性分析
点击查看答案
进入在线模考
单选题
下列属于数据库应用系统实现与部署阶段任务的是( )。
A.数据备份
B.数据库重组
C.索引调整
D.建立数据库结构
点击查看答案
进入在线模考
单选题
在IDEFO需求建模方法中,每个功能活动可以用带箭头的矩形框表示,其中矩形框上方的箭头代表该活动的( )。
A.输入
B.控制
C.机制
D.输出
点击查看答案
进入在线模考
延伸阅读