DB2数据库中的条件索引

时间:2014-01-27 08:40:46

标签: indexing db2

是否有可能在db2中创建条件索引?

与oracle相同:

CREATE UNIQUE INDEX my_index ON my_table (
  CASE WHEN my_column = 1
       THEN indexed_column
       ELSE NULL
  END);

或mssql:

CREATE UNIQUE INDEX my_index 
  ON my_table (indexed_column) WHERE my_column = 1

谢谢:)

2 个答案:

答案 0 :(得分:0)

这看起来像一个人为的例子,但我没有看到只包含值1和NULL的索引的任何好处。

从DB2 LUW 10.5开始支持基于表达式的索引。如果您无法升级,则可以使用计算列模拟行为(无论如何Oracle都是幕后操作)。

答案 1 :(得分:0)

  

在执行CREATE期间还会检查唯一性   INDEX声明。如果表已包含具有重复键的行   值,不创建索引。