教育/培训 查询

Informix中如何让查询只扫描索引不扫描表?

设想我有一个学生表 T_STUDENT, 有三列 ID int, name varchar(30), score int;里面存储上百万条记录,其中ID不重复,name有重复。如果我需要根据姓名查找成绩, SQL如下:select name, score from T_STUDENT where name = 'aaa0004';如何做到key-only index scan?谢谢!PS:在SQL... 显示全部
设想我有一个学生表 T_STUDENT, 有三列 ID int, name varchar(30), score int;
里面存储上百万条记录,其中ID不重复,name有重复。

如果我需要根据姓名查找成绩, SQL如下:
select name, score from T_STUDENT where name = 'aaa0004';

如何做到key-only index scan?

谢谢!

PS:在SQL SERVER中,创建索引时可以用INCLUDE,那么可以创建索引
create index idx_name on T_STUDENT
(name asc)
include (score)
这样只扫描索引就可以了,INFORMIX似乎做不到,请指教 收起
参与4

查看其它 3 个回答光洋山 的回答

光洋山 光洋山 数据库架构师 金融科技公司
和数据类型应该没有关系,index-only,需要把select语句中返回的clomn和where条件的column都在索引中出现即可。创建复合索引即可。
软件开发 · 2012-03-31
浏览467

回答者

光洋山
光洋山 0 1 10
数据库架构师 金融科技公司
评论485

光洋山 最近回答过的问题

回答状态

  • 发布时间:2012-03-31
  • 关注会员:0 人
  • 回答浏览:467
  • X社区推广