列表

详情


若系统使用频度最高的查询语句为
SELECT  *
FROM  SC
WHERE  Sno=x  AND  Cno=y;    //其中x,y为变量为使该查询语句的执行效率最高,应创建(  )。

A. Sno上的索引

B. Cno上的索引

C. Sno,Cno上的索引

D. SC上的视图SC_ V(Sno, Cno)

参考答案: C

详细解析:

题考查索引的应用方法。
索引是提高查询效率的最有效手段,但索引又会引起更新操作(INSERT、UPDATE和DELETE)的效率降低。因此,应根据查询需求创建必要的索引。本题目给出了查询频度最高的语句,其执行效率的提高对整个系统的总体性能起到重要作用。SQL查询中的WHERE语句是提取和筛选记录的条件,通过建立WHERE语句中使用的(Sno,Cno)属性组上的索引,可以快速定位给定取值的记录所在的页面,同时因为查询通常都是大量记录中查找到少量符合条件的记录,本例更是如此,满足给定条件的记录本仅一条,有了索引,无须从硬盘读取所有记录到内存进行提取,而只需通过索引满足条件的记录所在页面读至内存即可,会大大提高查询效率。
当然,有些DBMS会自动建立主码上的索引,本例中(Sno,Cno)为SC表的主码,可能无须在另外建立索引,需要根据具体的DBMS来决定用户是否另行建立索引。

上一题