暂无图片
按以下列及顺序创建索引时,哪个索引会使该 SQL的执行效率最高(特指逻辑读最小) ?
我来答
分享
小草
2024-01-14
按以下列及顺序创建索引时,哪个索引会使该 SQL的执行效率最高(特指逻辑读最小) ?

对于如下SQL: select ASS_TYPE from t1 where CLIENTNO='11154' and ACCESSTIME >= sysdate-10 and ACCESSTIME <= sysdate group by ASS_TYPE。 其中满足CLIENTNO='11154'的条件包含10条记录,满足ACCESSTIME >= sysdate-10 and ACCESSTIME <= sysdate 的包含3条记录。 问:按以下列及顺序创建索引时,哪个索引会使该 SQL的执行效率最高(特指逻辑读最小)

A

ACCESSTIME,CLIENTNO, ASS_TYPE

B

CLIENTNO,ACCESSTIME, ASS_TYPE

C

CLIENTNO,ACCESSTIME

D

ACCESSTIME,CLIENTNO

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
小草

B。等值查询在前,范围查询在后,索引效率最高。存在等值时等值永远优先于范围,不考虑过滤行数

暂无图片 评论
暂无图片 有用 8
暂无图片
浮光墨影

选B;  

B. CLIENTNO, ACCESSTIME, ASS_TYPE

这样的索引结构可以最有效地支持查询优化器对WHERE子句进行索引扫描,并可能使得整个查询通过索引来完成,从而减少对表数据块的实际读取操作,降低逻辑读的数量。同时,如果索引能够覆盖查询,则数据库无需访问基础表,进一步提高查询性能。

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏