Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.29;
Скачать: 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 вся ветка

Текущий архив: 2004.08.29;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.027 c
3-1091554030
сергей1
2004-08-03 21:27
2004.08.29
ловля ошибок


3-1091591198
mixam
2004-08-04 07:46
2004.08.29
bde


8-1086870848
Damage
2004-06-10 16:34
2004.08.29
Максимальные размеры TBitMap


1-1092242118
Frozzen
2004-08-11 20:35
2004.08.29
Преобразование типов


3-1091543705
reticon
2004-08-03 18:35
2004.08.29
SQL + функция Format