|
|
|
Statement
|
|||
|---|---|---|---|
|
#18+
доброго! ответьте мне пожалуйста на вопрос: когда целесообразно использовать Statement и когда PreparedStatement и почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 13:53:35 |
|
||
|
Statement
|
|||
|---|---|---|---|
|
#18+
PreparedStatement позволяет параметризировать запрос. также в жавадоках пишут, что будучи исполненным несколько раз подряд даст выигрыш с производительности за счет прекопмилляции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 15:02:34 |
|
||
|
Statement
|
|||
|---|---|---|---|
|
#18+
т. е. если я всегда буду использовать PreparedStatement хуже не будет, а только если лучше? еще вопрос: можно ли в PreparedStatement знаки вопросов поменять на чтонить более веселое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 15:24:24 |
|
||
|
Statement
|
|||
|---|---|---|---|
|
#18+
newjт. е. если я всегда буду использовать PreparedStatement хуже не будет, а только если лучше? PrerapredStatement 1) позволяет задавать параметры 2) оптимизирован для вызовов несколько раз подряд если это не нужно, смысла в использовании нет newj еще вопрос: можно ли в PreparedStatement знаки вопросов поменять на чтонить более веселое? =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 15:42:34 |
|
||
|
Statement
|
|||
|---|---|---|---|
|
#18+
нет серьезно от множества "?" дурно делается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 15:49:12 |
|
||
|
Statement
|
|||
|---|---|---|---|
|
#18+
newjт. е. если я всегда буду использовать PreparedStatement хуже не будет, а только если лучше? еще вопрос: можно ли в PreparedStatement знаки вопросов поменять на чтонить более веселое? 1. Не факт. 2. Можно :param в Oracle JDBC, только setInt("param", 100) не пройдет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 15:49:30 |
|
||
|
Statement
|
|||
|---|---|---|---|
|
#18+
newj wrote: > еще вопрос: можно ли в PreparedStatement знаки вопросов поменять на > чтонить более веселое? Многие JDBC драйвера поддерживают привязку параметров по имени, но лучше убедиться в этом по отношению к конкретному драйверу. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 16:00:53 |
|
||
|
Statement
|
|||
|---|---|---|---|
|
#18+
жаль.... всем спасибо за разъеснение ситуации! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 16:02:55 |
|
||
|
Statement
|
|||
|---|---|---|---|
|
#18+
2 Denis Popov : значит все таки есть надежда на лучшее! осталось только найти "где", "что" почитать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 16:09:56 |
|
||
|
Statement
|
|||
|---|---|---|---|
|
#18+
newj wrote: > осталось только найти "где", "что" почитать О драйверах к какой БД идет речь? Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 16:15:43 |
|
||
|
Statement
|
|||
|---|---|---|---|
|
#18+
Denis Popov newj wrote: > осталось только найти "где", "что" почитать О драйверах к какой БД идет речь? Posted via ActualForum NNTP Server 1.3 DB2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2006, 12:54:40 |
|
||
|
Statement
|
|||
|---|---|---|---|
|
#18+
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, нет - не используй) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2006, 13:02:52 |
|
||
|
Statement
|
|||
|---|---|---|---|
|
#18+
smbdy и всё таки, как ето работает не могу понять для начала определимся с терминологией, как я понимаю "план запроса" = "precompiled" Сама джава сгенерировать план запроса не может, значит может быть 2 варианта: либо план запроса хранит сама БД либо план запроса приходит обратно вместе с ResultSet ... вообщем хочеца услышать понимающих ету вещь людей (а не просто руководствоваца принципом - много одинаковых запросов - используй PS, нет - не используй) Да, Java не генерит план запроса, не придумывает ответы и вышивает крестиком - всё это реализует СУБД. Для начала - вы представляете, как работает СУБД (например, Oracle) с поступающими к ней запросами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2006, 13:08:03 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34097145&tid=2147217]: |
0ms |
get settings: |
19ms |
get forum list: |
20ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
55ms |
get topic data: |
17ms |
get forum data: |
4ms |
get page messages: |
77ms |
get tp. blocked users: |
2ms |
| others: | 384ms |
| total: | 590ms |

| 0 / 0 |
