教育/培训 查询

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 个回答informix-master 的回答

informix-master informix-master 程序员 爱码科技
已经搞定了,把name的类型从varchar改为char,然后创建复合索引(name, score)就可以了。

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

回答者

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

informix-master 最近回答过的问题

回答状态

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