Вниз
Скачать: CL | DM;

OCI, Parse, Prepare, курсоры и т.п.   Найти похожие ветки 

← →
Labert   (2004-08-03 11:46) [0]

в интерфейсе OCI, да и в других тоже перед выполнением SQL-запроса нужно его разбирать (Parse) и подготавливать (Prepare)

Объясните мне, старому дураку, зачем это нужно и что из себя представляют эти процессы?
Я ведь так понимаю: запрос - это просто текст, посылаешь его на сервер - сервер возвращает результат (или не возвращает)

Зачем разбор и подготовка на стороне клиента?

Кроме того, зачем нужны BINDы параметров?
Не проще ли засунуть подставляемые значения в текст запроса?


← →
Sergey_Masloff   (2004-08-03 11:53) [1]

Labert   (03.08.04 11:46)  
>Кроме того, зачем нужны BINDы параметров?
>Не проще ли засунуть подставляемые значения в текст запроса?
Разбор запроса операция тяжелая (сравнительно). Результат разбора хранится в специальном кэше. Если запрос параметризованый то запрос не разбирается а прямо берется из кеша, делается связывание параметров и вперед. Если пользователей много это способно на порядке увеличить производительность сервера. Если же значения параметров сразу в запрос подставлять - вероятность найти в кэше точно такой же близка к 0. Но на этот поиск время все равно будет тратиться. А кэш будет все расти и расти так как каждый новый текст запроса будет уникальным. Вобщем запросы с параметрами зашитыми в текст - верный способ поставить сервер на колени.


← →
Labert   (2004-08-03 12:04) [2]

нельзя ли поподробнее
что делается при разборе и подготовке запроса?


← →
Sergey13 ©   (2004-08-03 12:07) [3]

2Labert   (03.08.04 11:46)
>Я ведь так понимаю: запрос - это просто текст, посылаешь его на сервер - сервер возвращает результат (или не возвращает)
А если твой запрос содержит "типа мне надо пасматреть канкретные цены"? Тоже запрос, но сервер его не поймет.

>Зачем разбор и подготовка на стороне клиента?
А он есть? Сомневаюсь. Скорее на клиенте только команды для сервера. Хотя может я и ошибаюсь.

>Кроме того, зачем нужны BINDы параметров?
см [1].

2Sergey_Masloff   (03.08.04 11:53)
>А кэш будет все расти и расти так как каждый новый текст запроса будет уникальным.
Ну прям как расширяющаяся вселенная? 8-)


← →
Sergey13 ©   (2004-08-03 12:08) [4]

2Labert   (03.08.04 12:04)
>что делается при разборе и подготовке запроса?
В основном разбор синтаксиса и проверка прав на действия. Кроме того составление плана выполнения.


← →
roottim ©   (2004-08-03 12:09) [5]

Том Кайт (том1) "ORACLE для профессионалов" расписано крайне понятно, и ежели дальше собирайтесь работать с ораклом.. советую купить..


← →
Labert   (2004-08-03 12:19) [6]

спасибо
купить - не куплю, но почитаю обязательно



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.021 c
3-1091592599
ydv
2004-08-04 08:09
2004.08.29
Хитрый sql-запрос


3-1091702803
Shama_n
2004-08-05 14:46
2004.08.29
Как получить набор данных только с уникальными значениями?


14-1092288811
Kerk
2004-08-12 09:33
2004.08.29
Microsoft запатентовала "двойной щелчок" мышкой


4-1089662786
programer
2004-07-13 00:06
2004.08.29
Неработающий GetWindowText


14-1092118219
BAYES
2004-08-10 10:10
2004.08.29
Documents and Settings в dos-консоли winrar 3.20




   Наверх