是否有可能在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
谢谢:)
答案 0 :(得分:0)
这看起来像一个人为的例子,但我没有看到只包含值1和NULL的索引的任何好处。
从DB2 LUW 10.5开始支持基于表达式的索引。如果您无法升级,则可以使用计算列模拟行为(无论如何Oracle都是幕后操作)。
答案 1 :(得分:0)
在执行CREATE期间还会检查唯一性 INDEX声明。如果表已包含具有重复键的行 值,不创建索引。