Подготовленные заявления и драйверы JDBC - PullRequest
6 голосов
/ 08 июля 2010

У меня есть следующие вопросы о подготовленных выражениях в Java.

  1. Полезно ли использовать подготовленные высказывания, когда в SQL-запросе нет предложения Where?Предположим, что простой запрос Выберите * из имени таблицы;

  2. Говорят, что подготовленный оператор компилируется один раз, а во второй раз подставляются только значения.Следовательно, это быстрее, поскольку этап проверки и компиляции запроса может быть пропущен.Где хранится скомпилированная форма?Каков срок жизни этой скомпилированной формы?

Ответы [ 2 ]

2 голосов
/ 08 июля 2010
  1. Используйте PreparedStatement каждый раз, когда от пользователя поступает какой-либо вклад. Это поможет вам избежать необходимых символов для предотвращения SQL-инъекций и ошибок в запросах.
2 голосов
/ 08 июля 2010
  1. PreparedStatement полезен, когда есть параметры, которые необходимо передать, и когда запрос должен быть выполнен повторно. Если есть простой запрос, который нужно запустить один раз, оператор будет быстрее.

  2. Кэширование происходит на сервере БД. Сервер БД имеет API, которые помогают кэшировать скомпилированные запросы. Следовательно, для повторного выполнения запросов один и тот же скомпилированный запрос будет запущен снова и увеличит производительность.

...