sql中使用函式導致cost高
問題SQL:
SELECT DJXH,
GDSLX_DM,
SSDABH,
NSRSBH,
NSRMC,
KZZTDJLX_DM,
DJZCLX_DM,
FDDBRXM,
FDDBRSFZJLX_DM,
SCJYDZ,
FDDBRSFZJHM,
SCJYDZXZQHSZ_DM,
NSRZT_DM,
HY_DM,
ZCDZ,
ZCDZXZQHSZ_DM,
JDXZ_DM,
DWLSGX_DM,
GDGHLX_DM,
DJJG_DM,
DJRQ,
ZZJG_DM,
KQCCSZTDJBZ,
ZGSWJ_DM,
ZGSWSKFJ_DM,
SSGLY_DM
FROM hx_dj.DJ_DDRXX DDRXX
WHERE FDDBRSFZJLX_DM = '201'
AND REGEXP_replace(FDDBRSFZJHM, '[^a-zA-Z0-9]', '') = '362427197708217318'
AND DDRXX.YXBZ = 'Y';
故障原因:已存在(FDDBRSFZJLX_DM,FDDBRSFZJHM)組合索引,開發人員將FDDBRSFZJHM改成 REGEXP_replace(FDDBRSFZJHM, '[^a-zA-Z0-9]', '') 走以上索引後消耗非常高,導致系統資源 緊張。
故障處理:臨時新增(FDDBRSFZJLX_DM,REGEXP_replace(FDDBRSFZJHM, '[^a-zA-Z0-9]', '')) 函式索引。通知開發人員修改SQL。
建立索引時出現ORA-01450: maximum key length (3215) exceeded錯誤,去掉online引數後正常建立!
SELECT DJXH,
GDSLX_DM,
SSDABH,
NSRSBH,
NSRMC,
KZZTDJLX_DM,
DJZCLX_DM,
FDDBRXM,
FDDBRSFZJLX_DM,
SCJYDZ,
FDDBRSFZJHM,
SCJYDZXZQHSZ_DM,
NSRZT_DM,
HY_DM,
ZCDZ,
ZCDZXZQHSZ_DM,
JDXZ_DM,
DWLSGX_DM,
GDGHLX_DM,
DJJG_DM,
DJRQ,
ZZJG_DM,
KQCCSZTDJBZ,
ZGSWJ_DM,
ZGSWSKFJ_DM,
SSGLY_DM
FROM hx_dj.DJ_DDRXX DDRXX
WHERE FDDBRSFZJLX_DM = '201'
AND REGEXP_replace(FDDBRSFZJHM, '[^a-zA-Z0-9]', '') = '362427197708217318'
AND DDRXX.YXBZ = 'Y';
故障原因:已存在(FDDBRSFZJLX_DM,FDDBRSFZJHM)組合索引,開發人員將FDDBRSFZJHM改成 REGEXP_replace(FDDBRSFZJHM, '[^a-zA-Z0-9]', '') 走以上索引後消耗非常高,導致系統資源 緊張。
故障處理:臨時新增(FDDBRSFZJLX_DM,REGEXP_replace(FDDBRSFZJHM, '[^a-zA-Z0-9]', '')) 函式索引。通知開發人員修改SQL。
建立索引時出現ORA-01450: maximum key length (3215) exceeded錯誤,去掉online引數後正常建立!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29863023/viewspace-1670600/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python中函式的高階使用Python函式
- SQL中的替換函式replace()使用SQL函式
- Sql中SYSDATE函式的使用方法SQL函式
- Sql 中的 left 函式、right 函式SQL函式
- SQL中的cast()函式SQLAST函式
- 邏輯迴歸損失函式(cost function)邏輯迴歸函式Function
- 高階函式的使用函式
- 簡單介紹SQL中ISNULL函式使用方法SQLNull函式
- 【SQL】19 SQL函式SQL函式
- sql函式SQL函式
- SQL-函式 - 聚合函式SQL函式
- Kotlin中的高階函式Kotlin函式
- 效能分析(5)- 軟中斷導致 CPU 使用率過高的案例
- Kotlin——高階篇(二):高階函式詳解與標準的高階函式使用Kotlin函式
- sql中select列有自定義函式 dblinkSQL函式
- 理解 JavaScript 中的高階函式JavaScript函式
- T-SQL——函式——字串操作函式SQL函式字串
- 使用SQL以及函式等做資料分析SQL函式
- Kotlin 函式6 - 高階函式Kotlin函式
- MATLAB中linspace函式使用Matlab函式
- SQL 視窗函式SQL函式
- SQL LEN()函式用法SQL函式
- T-SQL——函式——時間操作函式SQL函式
- Python中的高階函式簡介Python函式
- 高階函式函式
- 如何使用函式指標呼叫類中的函式和普通函式函式指標
- Python 函式進階-高階函式Python函式
- SQL Server建立使用者函式與應用SQLServer函式
- SQL中的常用的字串處理函式大全SQL字串函式
- MySQL中MAX函式如何使用?MySql函式
- python中super函式如何使用?Python函式
- python中fail函式如何使用PythonAI函式
- Oracle中Decode()函式的使用Oracle函式
- Django中F函式的使用Django函式
- 故障分析 | MySQL convert 函式導致的字符集報錯處理MySql函式
- SQL Server 2016 函式:CASTSQLServer函式AST
- 確定性函式改造sql函式SQL
- Spark SQL 開窗函式SparkSQL函式
- SQL---------儲存函式SQL儲存函式