2010-08-04 72 views

回答

2

我不知道甲骨文的內部細節,但表示Postgres創建表達指數,它可以是一個函數,from

索引字段可以是表達式 ,該表達式根據表格行的一個或多個列的值計算。這個 功能可以用來獲取基於某些 基礎數據轉換的數據的快速訪問。例如,對於 示例,在 upper(col)上計算的索引將允許子句 WHERE upper(col)='JIM'使用 索引。

編輯: MySQL似乎仍然在僞造這個,詳見virtual columns。還有一些討論here。看起來不太活躍。

DB2 does it

MS SQL不能這樣做,但使用計算列可以產生類似的效果;見discussion

1

如果數據庫支持插入和更新觸發器,則可以模擬基於函數的索引。

添加一列將包含函數值併爲該列添加索引。然後讓你的觸發器更新包含函數值的列。您的查詢必須更改,請用function_col替換function(params)