![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
OCI, Parse, Prepare, курсоры и т.п.
Labert © (2004-08-03 11:46:00)в интерфейсе OCI, да и в других тоже перед выполнением SQL-запроса нужно его разбирать (Parse) и подготавливать (Prepare)
Объясните мне, старому дураку, зачем это нужно и что из себя представляют эти процессы?
Я ведь так понимаю: запрос - это просто текст, посылаешь его на сервер - сервер возвращает результат (или не возвращает)
Зачем разбор и подготовка на стороне клиента?
Кроме того, зачем нужны BINDы параметров?
Не проще ли засунуть подставляемые значения в текст запроса?
Labert (2004-08-03 12:19:00) [1]спасибо
купить - не куплю, но почитаю обязательно
roottim (2004-08-03 12:09:00) [2]Том Кайт (том1) "ORACLE для профессионалов" расписано крайне понятно, и ежели дальше собирайтесь работать с ораклом.. советую купить..
Sergey13 (2004-08-03 12:08:00) [3]2Labert (03.08.04 12:04)
>что делается при разборе и подготовке запроса?
В основном разбор синтаксиса и проверка прав на действия. Кроме того составление плана выполнения.
Sergey13 (2004-08-03 12:07:00) [4]2Labert (03.08.04 11:46)
>Я ведь так понимаю: запрос - это просто текст, посылаешь его на сервер - сервер возвращает результат (или не возвращает)
А если твой запрос содержит "типа мне надо пасматреть канкретные цены"? Тоже запрос, но сервер его не поймет.
>Зачем разбор и подготовка на стороне клиента?
А он есть? Сомневаюсь. Скорее на клиенте только команды для сервера. Хотя может я и ошибаюсь.
>Кроме того, зачем нужны BINDы параметров?
см [1].
2Sergey_Masloff (03.08.04 11:53)
>А кэш будет все расти и расти так как каждый новый текст запроса будет уникальным.
Ну прям как расширяющаяся вселенная? 8-)
Labert (2004-08-03 12:04:00) [5]нельзя ли поподробнее
что делается при разборе и подготовке запроса?
Sergey_Masloff (2004-08-03 11:53:00) [6]Labert (03.08.04 11:46)
>Кроме того, зачем нужны BINDы параметров?
>Не проще ли засунуть подставляемые значения в текст запроса?
Разбор запроса операция тяжелая (сравнительно). Результат разбора хранится в специальном кэше. Если запрос параметризованый то запрос не разбирается а прямо берется из кеша, делается связывание параметров и вперед. Если пользователей много это способно на порядке увеличить производительность сервера. Если же значения параметров сразу в запрос подставлять - вероятность найти в кэше точно такой же близка к 0. Но на этот поиск время все равно будет тратиться. А кэш будет все расти и расти так как каждый новый текст запроса будет уникальным. Вобщем запросы с параметрами зашитыми в текст - верный способ поставить сервер на колени.