在SQL语言中,为了提高查询速度通常应创建()。
A.视图view
B.索引index
C.游标cursor
D.触发器trigger
A.视图view
B.索引index
C.游标cursor
D.触发器trigger
第1题
下列关于SQL语言中索引(Index)的叙述中,哪一条是不正确的?
A.索引是外模式
B.一个基本表上可以创建多个索引
C.索引可以加快查询的执行速度
D.系统在存取数据时会自动选择合适的索引作为存取路径
第4题
在SQL语言中,用于对查询结果计数的函数是()。
A. SUM
B. AVG
C. MIN
D. COUNT
第5题
块的WHERE子句或HAVING短语的条件中的查询称为()。
第9题
在SQLServer2000的某数据库中有如下两张关系表:
学生表(学号,姓名,性别,系号),学号为主码
系表(系号,系名,系简称),系号为主码
①在数据库中执行如下T-SQL代码:
DECLARE @DePtID varchar(10)
DECLARE @cnt int
set @cnt=O
DECLARE cursor1 cursor FOR SELEET系号FROM系表
WHERE系名LIKE'%电%'
OPEN cursorl
FETCH NEXT FROM cursor1 INTO @DePtID
WHILE @@FETCH_STATUS=O
BEGIN
DECLARE @temp_cnt int
sELECT @temp_cnt=COUNT(*)FROM学生表WHERE系号=@DeptID
set @Cnt=@cnt+@temp_cnt
FETCH NEXT FROM cursor1 INTO ODePtID
END
CLOSE cursor1
DEALLOCATE cursor1
SELECT @cnt
执行过程中发现速度比较慢,为了解决性能问题,需在功能不变的情况下,将此T-SQL代码改为一条SQL语句,请写出此SQL语句(语句中不能含有子查询)并说明为什么此种修改可以提高性能。
②设在学生表的(姓名,系号)列上建有一个复合索引,该索引是否有助于提高下列两个语句的查询效率?并说明原因。
SELECT*FROM学生表 WHERE系号=‘1’;
SELEET*FRoM学生表WHERE姓名=‘张三’;