教育/培训查询

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 SERVER中,创建索引时可以用INCLUDE,那么可以创建索引
create index idx_name on T_STUDENT
(name asc)
include (score)
这样只扫描索引就可以了,INFORMIX似乎做不到,请指教
参与4

4同行回答

liaosnetliaosnet信息分析/架构师gbasedbt.com
。。。。不需要改varchar为char,也可以建复合索引。。显示全部
。。。。不需要改varchar为char,也可以建复合索引。。收起
IT咨询服务 · 2012-09-17
浏览442
caimaocaimao程序员亿阳信通
又学了一招啊显示全部
又学了一招啊收起
IT分销/经销 · 2012-09-17
浏览438
光洋山光洋山数据库架构师金融科技公司
和数据类型应该没有关系,index-only,需要把select语句中返回的clomn和where条件的column都在索引中出现即可。创建复合索引即可。显示全部
和数据类型应该没有关系,index-only,需要把select语句中返回的clomn和where条件的column都在索引中出现即可。创建复合索引即可。收起
软件开发 · 2012-03-31
浏览453
informix-masterinformix-master程序员爱码科技
已经搞定了,把name的类型从varchar改为char,然后创建复合索引(name, score)就可以了。原来是数据类型的问题显示全部
已经搞定了,把name的类型从varchar改为char,然后创建复合索引(name, score)就可以了。

原来是数据类型的问题收起
教育/培训 · 2012-03-29
浏览447

提问者

informix-master
程序员爱码科技

相关问题

问题状态

  • 发布时间:2012-03-29
  • 关注会员:0 人
  • 问题浏览:2781
  • 最近回答:2012-09-17
  • X社区推广