У меня есть следующий запрос:Следующий простой запрос не завершен. Подготовлено заявление
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 Server Management Studio ('?' Заменен его значением), он отлично работает.
Я что-то пропустил в Java или MSSQL?
У вас есть другие вопросы, которые работают правильно через JDBC? – cheeken
Да только этот проблематичен. –
Производительность, столбцы VARCHAR более 4 не являются идеальными. Это один из случаев, когда я предлагаю использовать столбец INT 'ID' в качестве первичного ключа и использовать ограничение UNIQUE в столбце URL-адреса –