Показать сообщение отдельно
Старый 17.06.2008, 10:01   #6  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1850 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от fed Посмотреть сообщение
Возможно. Но я на своей практике много раз видел ситуации, когда из за использования параметризации порождался КРИВЕЙШИЙ план запроса
Это не кривой план. Вероятно, это был хороший (возможно, даже оптимальный) план - для набора параметров, с которыми он строился. Я же вроде написал - там, где изменение параметров значительно влияет на выбор оптимального плана исполнения, разумеется НАДО использовать литералы. Forceliterals в стандартном коде достаточно широко и осмысленно используется, так что тут разработчикам зачет. "Легкие" запросы - вполне достойно перевариваются с prepared execution

Цитата:
и ни разу не видел чтобы из за использования литералов перегружались процессора сервера БД
А сталкивался с ситуацией, когда время подготовки (разбор, генерация плана исполнения) запроса превышает время его исполнения? И таких запросов - сотни?

Пока что ни axbegin, ни я не говорили о ПЕРЕГРУЗКЕ сервера из-за того, что не используются связанные переменные. Речь шла об увеличении времени отклика

Цитата:
А Кайт, кстати, не пишет о том, нафига нужна статистика и гистограмы, если все запросы жестко параметризованы ?
Переведи, пожалуйста. Нафига нужна статистика? Не понимаю

Мой посыл таков - идеальной настройки для всех случаев жизни нет. Но prepared execution по умолчанию (для основной массы OLTP-шных запросов) и осознанное использование forceliterals в коде x++ там, где это требуется - работает вполне прилично. По крайней мере, средняя температура по больнице (результаты любимого benchmark tool) это подтверждает
__________________
-ТСЯ или -ТЬСЯ ?