2016-05-26 11 views
0

私は、フロントエンドおよびクエリから行を編集しようとしていますが、クエリがUPPERせずに罰金を実行しているが、私はupperを適用して、それがエラーなしで捕まってしまった、立ち往生さなぜこのSQLクエリがスタックしていますか?

クエリは次のとおりです。

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 = ?"; 

DB内の一部のサーバーが下部ケース

+0

もっと詳しく説明してください.......... – piyushj

+2

「スタック」とは、予想以上に長くかかるということですか?それは通常どのくらいの時間を要し、どれくらいの時間がかかりますか、それとも決して戻ってこないのですか?速度が遅い場合は、使用されているインデックスを停止している可能性があります(実際には、sagiの回答アドレスです)。影響を受けた行が別のセッションからの更新によってロックされていないことを確かに確認したら、 –

+0

多くの時間を取って – Amol

答えて

5

にあるので、私は、私はこのコラムのUPPER形式にINDEXを追加することをお勧めすることができupperを適用しています

CREATE INDEX SERVER_NAME ON ENV_SERVER_DETAILS (UPPER(SERVER_NAME)); 

この列にインデックスがあっても、UPPERはその使用を排除しているため、クエリが遅いという問題があります。

これは、「つぶれ」とは、ゆっくりという意味です。

+0

thnks男..この作品 – Amol

関連する問題