我有以下查詢:下面的簡單查詢沒有完成。預處理語句
String updatequery = "UPDATE tbl_page SET linkCount = ?, pageProcessed = 1 WHERE pageUrl =?";
PreparedStatement updatestmt = kon.prepareStatement(updatequery);
updatestmt.clearParameters();
//updatestmt.setQueryTimeout(10);
updatestmt.setInt(1, linkCount);
updatestmt.setString(2, urlLink);
updatestmt.executeUpdate();
當我設置爲10秒查詢超時就會捕捉異常查詢超時。但是當我不這樣等待。查詢有什麼問題? pageUrl
列是主鍵與varchar(900)
我知道準備的語句可能是錯誤的,因爲當我在MS SQl服務器管理工作室('?'取代它的值)運行此查詢時,它工作正常。
我錯過了Java或MSSQL的東西嗎?
您是否有其他通過JDBC正確運行的查詢? – cheeken
是的只有這個是有問題的。 –
性能方面,大於4的VARCHAR列並不理想。這是我建議使用INT'ID'列作爲主鍵的情況之一,並且在URL列上使用UNIQUE約束 –