首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Oracle 模糊查詢效能實測:LIKE '%關鍵字%' vs '關鍵字%' 差異分析

     編輯:MySQL 資料庫相關知識

實驗環境

  • 10 萬筆測試資料,單一 VARCHAR2(1000) 欄位
  • VB + ADO + Microsoft ODBC for Oracle 驅動
  • Client-side Cursor (adUseClient)、Static Cursor、Batch Optimistic Lock

測試結果統計

LIKE 模式耗時 (秒)特徵
'%中國%'5~10全表掃描,隨關鍵字長度/回傳筆數波動
'%1%'5~10同前
'%aklsdjflsasdfasd%'5~10同前
'34%'~3前綴比對,可使用索引範圍掃描,穩定
'%34'5~10後綴比等同雙向萬用字元,全表掃描

結論與建議

  1. 前綴比對 (LIKE 'abc%') 可用索引,效能穩定且快
  2. 雙向/尾部萬用字元 (LIKE '%abc' / '%abc%') 必然全表掃描
  3. CursorLocation/Type/LockType 對模糊查詢效能影響極小
  4. 需支援任意位置搜尋時,考慮:
    • Oracle Text (Context 索引)
    • Function-based Index + UPPER/LOWER
    • 應用層關鍵字拆解 + 多條件 OR
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved