powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Statement
15 сообщений из 15, страница 1 из 1
Statement
    #34094133
newj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
доброго!
ответьте мне пожалуйста на вопрос:
когда целесообразно использовать Statement и когда PreparedStatement
и почему?
...
Рейтинг: 0 / 0
Statement
    #34094496
зе гест
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PreparedStatement позволяет параметризировать запрос.
также в жавадоках пишут, что будучи исполненным несколько раз подряд даст выигрыш с производительности за счет прекопмилляции.
...
Рейтинг: 0 / 0
Statement
    #34094566
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Statement
    #34094612
newj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
т. е. если я всегда буду использовать PreparedStatement хуже не будет, а только если лучше?

еще вопрос: можно ли в PreparedStatement знаки вопросов поменять на чтонить более веселое?
...
Рейтинг: 0 / 0
Statement
    #34094706
гест02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
newjт. е. если я всегда буду использовать PreparedStatement хуже не будет, а только если лучше?


PrerapredStatement 1) позволяет задавать параметры 2) оптимизирован для вызовов несколько раз подряд
если это не нужно, смысла в использовании нет

newj
еще вопрос: можно ли в PreparedStatement знаки вопросов поменять на чтонить более веселое?

=)
...
Рейтинг: 0 / 0
Statement
    #34094734
newj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нет серьезно от множества "?" дурно делается
...
Рейтинг: 0 / 0
Statement
    #34094739
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
newjт. е. если я всегда буду использовать PreparedStatement хуже не будет, а только если лучше?

еще вопрос: можно ли в PreparedStatement знаки вопросов поменять на чтонить более веселое?
1. Не факт.
2. Можно :param в Oracle JDBC, только setInt("param", 100) не пройдет.
...
Рейтинг: 0 / 0
Statement
    #34094804
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
newj wrote:

> еще вопрос: можно ли в PreparedStatement знаки вопросов поменять на
> чтонить более веселое?

Многие JDBC драйвера поддерживают привязку параметров по имени, но лучше
убедиться в этом по отношению к конкретному драйверу.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Statement
    #34094820
newj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
жаль....

всем спасибо за разъеснение ситуации!
...
Рейтинг: 0 / 0
Statement
    #34094848
newj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Denis Popov :

значит все таки есть надежда на лучшее!
осталось только найти "где", "что" почитать
...
Рейтинг: 0 / 0
Statement
    #34094872
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
newj wrote:

> осталось только найти "где", "что" почитать

О драйверах к какой БД идет речь?
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Statement
    #34097145
newj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Denis Popov
newj wrote:

> осталось только найти "где", "что" почитать

О драйверах к какой БД идет речь?
Posted via ActualForum NNTP Server 1.3

DB2
...
Рейтинг: 0 / 0
Statement
    #34196250
smbdy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www-128.ibm.com/developerworks/ru/library/j-datman/index.html
Когда база данных получает оператор, ее двигатель сначала делает его грамматический разбор и ищет синтаксические ошибки. Как только оператор разобран, база данных должна выявить наиболее производительный способ его выполнения. Вычислительно, это может быть довольно дорого. База данных проверяет, какие индексы, если таковые имеются, могут помочь, или необходимо ли полностью считать все ряды в таблице. Для выявления наилучшего способа база данных использует статистику. Как только создан план запроса, двигатель может выполнить его.

Для генерации такого плана требуется энергия CPU. В идеале, если мы дважды отсылаем тот же самый оператор в базу данных, то хотелось бы, чтобы база данных снова использовала план доступа для первого оператора. Мы можем использовать PreparedStatement объект, чтобы достичь этого.


JavaDoc API
A SQL statement is precompiled and stored in a PreparedStatement object


и всё таки, как ето работает не могу понять

для начала определимся с терминологией, как я понимаю "план запроса" = "precompiled"
Сама джава сгенерировать план запроса не может, значит может быть 2 варианта:
либо план запроса хранит сама БД
либо план запроса приходит обратно вместе с ResultSet
...
вообщем хочеца услышать понимающих ету вещь людей (а не просто руководствоваца принципом - много одинаковых запросов - используй PS, нет - не используй)
...
Рейтинг: 0 / 0
Statement
    #34196271
Забаненый ррмяф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
smbdy
и всё таки, как ето работает не могу понять

для начала определимся с терминологией, как я понимаю "план запроса" = "precompiled"
Сама джава сгенерировать план запроса не может, значит может быть 2 варианта:
либо план запроса хранит сама БД
либо план запроса приходит обратно вместе с ResultSet
...
вообщем хочеца услышать понимающих ету вещь людей (а не просто руководствоваца принципом - много одинаковых запросов - используй PS, нет - не используй)
Да, Java не генерит план запроса, не придумывает ответы и вышивает крестиком - всё это реализует СУБД.

Для начала - вы представляете, как работает СУБД (например, Oracle) с поступающими к ней запросами?
...
Рейтинг: 0 / 0
Statement
    #34196343
smbdy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
практически не представялю (черный ящик)
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Statement
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]