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

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


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

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

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

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

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

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

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

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

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

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

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

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

DB2
...
Рейтинг: 0 / 0
13.12.2006, 13:02:52
    #34196250
smbdy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Statement
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
13.12.2006, 13:08:03
    #34196271
Забаненый ррмяф
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Statement
smbdy
и всё таки, как ето работает не могу понять

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

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


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