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

admin2017-09-14  54

问题 若系统使用频度最高的查询语句为
    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来决定用户是否另行建立索引。
转载请注明原文地址:https://kaotiyun.com/show/kmTZ777K
0

相关试题推荐
最新回复(0)