我正在尝试从前端编辑一行,但查询卡住了,查询运行正常而没有UPPER
,但是当我应用upper
时,它被卡住而没有任何错误
查询如下:
String editquery = "UPDATE ENV_SERVER_DETAILS SET " +
"SERVER_NAME=? , HOPBOX_IP=? , ENV_NAME=? , REGION=? , PASSWORD=? , DELETE_FLAG='Y' , SUPERUSER=? , SUPERPASSW=? ," +
" COMPONENT='' , SPECIFICATION_OR_DBNAME=? , IP_ADDRESS=? , COMMENTS='' , LAST_UPDATED_BY=? ," +
"LAST_UPDATED_ON=to_date(to_char(SYSDATE,'YYYY-MM-DD HH24:MI:SS'),'YYYY-MM-DD HH24:MI:SS') ," +
"OTHER_DETAILS=? " +
"WHERE UPPER(SERVER_NAME) = UPPER(?) and MOTS_ID = ?";
我已应用upper
,因为DB中的某些服务器是小写的
答案 0 :(得分:5)
我建议您在此列的INDEX
格式上添加UPPER
:
CREATE INDEX SERVER_NAME ON ENV_SERVER_DETAILS (UPPER(SERVER_NAME));
问题在于,即使此列上有索引,UPPER
也不会使用它,因此查询速度很慢。
那就是“卡住了”#39;你的意思是慢。