簡體   English   中英

全表掃描中的Oracle Query

[英]Oracle Query in full table scan

我不明白為什么此表(按范圍划分)在此查詢中處於全表掃描狀態:

UPDATE customer_table
   SET username = '',
       phone = '',
       ip = '',
       cell = '',
       channel = ''
 WHERE id = '';

我還創建了此索引:

CREATE INDEX customer_table_UPD_EXT_SYS ON customer_table
(USERNAME, CLI, IP, MSISDN, CANALE, TN)

誰能幫我?

為了避免全表掃描,索引必須(至少部分)匹配WHERE子句。 在您的示例中, customer_table.id上的索引會有所幫助。 您的索引customer_table_UPD_EXT_SYS包含更新的列; 對於您的UPDATE語句,這實際上是一個壞消息,因為索引也需要更新,這可能比更新表貴。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM