教育/培训 查询

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 同行回答

informix-master informix-master 程序员 爱码科技
已经搞定了,把name的类型从varchar改为char,然后创建复合索引(name, score)就可以了。原来是数据类型的问题显示全部
已经搞定了,把name的类型从varchar改为char,然后创建复合索引(name, score)就可以了。

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

提问者

informix-master
程序员 爱码科技
评论4

相关问题

问题状态

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