1
我有一張巨大的表格,我不能再進行任何分區或子分區,也不允許進行任何修改。我想通過批量查詢其記錄,並認爲一個好方法是使用帳號中的最後兩位數字(不會有任何其他字段分裂記錄均勻)。在Oracle中爲數字的最後兩位數字創建索引
我想我至少需要索引,不知何故(記住我不能改變表添加虛擬列)。
在這種情況下是否有任何種類的索引?
我使用的是Oracle 11gR2的
我有一張巨大的表格,我不能再進行任何分區或子分區,也不允許進行任何修改。我想通過批量查詢其記錄,並認爲一個好方法是使用帳號中的最後兩位數字(不會有任何其他字段分裂記錄均勻)。在Oracle中爲數字的最後兩位數字創建索引
我想我至少需要索引,不知何故(記住我不能改變表添加虛擬列)。
在這種情況下是否有任何種類的索引?
我使用的是Oracle 11gR2的
您可以使用function based index:
create index two_digits_idx on table_name (substr(account_number, -2));
該指標將只在這樣的疑問:
select ...
from table_name t ...
where substr(account_number, -2) = '25' -- or any other two digits
對於使用索引,你需要使用在查詢中像索引中一樣的表達式。
一個基於函數的索引可能會有所幫助 – Multisync 2014-11-03 16:50:30
謝謝,將研究一下! – filippo 2014-11-03 16:55:50