ITPub博客

首页 > 数据库 > Oracle > 使用组合索引处理包含空值的查询

使用组合索引处理包含空值的查询

原创 Oracle 作者:壹頁書 时间:2014-01-20 22:39:52 0 删除 编辑
字段不全为空的行可以被索引

如果有这样一种需求,尚未处理的单据,该列为null。已经处理的单据,则将处理人的ID更新到该列。
那么查询尚未处理的单据,就需要查询该列为null的行。
处理这个需求,除了函数索引,还可以使用组合索引。

假设处理人的那个字段就是测试表中的ID字段。
  1. create table test
  2. (
  3.     id varchar2(20)
  4. );

  5. begin
  6. for x in 1..10 loop
  7.     insert into test values(x);
  8. end loop;
  9. end;
  10. /

  11. create index inx_test_id on test(id,0);

  12. exec dbms_stats.gather_schema_stats('EDMOND');

通过创建组合索引,可以使空值的查询,也走这个索引。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29254281/viewspace-1073297/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-10-19

  • 博文量
    621
  • 访问量
    5991398