表格维基百科:http://en.wikipedia.org/wiki/Index_(database)
某些数据库通过允许在函数或表达式上创建索引来扩展索引的功能。例如,可以在upper(last_name)上创建索引,该索引仅在索引中存储last_name字段的大写版本。有时支持的另一个选项是使用“过滤”索引,其中仅为满足某些条件表达式的记录创建索引条目。灵活性的另一个方面是允许对用户定义的函数进行索引,以及由各种内置函数构成的表达式。
那些支持灵活索引的数据库是什么:
以及该功能的已知术语是什么?
答案 0 :(得分:1)
在oracle中,它们被称为基于函数的索引。
对于过滤,你可能会很棘手并创建一个函数,如果过滤器匹配则返回值,否则返回null。 Null不存储在btree索引中,因此索引基本上被过滤。您只需确保在查询中使用相同的功能。
我相信在sql server中你可以创建一个计算列和索引。
答案 1 :(得分:0)
SQL Server 2000+(至少)支持基于函数的列和计算列的索引。可以使用函数上的索引视图复制函数索引。
有条件一如既往,但主要围绕决定论(可能是普遍的)
SQL Server 2008+已过滤索引。
AFAIK,没有特殊用语。他们只是索引。
答案 2 :(得分:-1)
据我所知,所有主要的RDBS都支持此功能。我个人在MySQL和PostgreSQL上使用它,但如果在MSSQL和Oracle中没有它,我会感到震惊。
不幸的是,我不知道任何特殊用语。