Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
один и тот же select внутри функций.. разное время
|
|||
|---|---|---|---|
|
#18+
Доброго дня. делаю один и тот же селект внутри функции: Код: plaintext или делатю это как: Код: plaintext 1. 2. 3. 4. так вот, for rec работает на порядок(именно на порядок) быстрее чем первый вариант. Вопрос, почему? Сам запрос возврашает всего 1 строку (те не выводит много данных). Запрос с большой таблицы, около 1 млн записей, но в обоих случаях запросы идентичны. Ещё вспомнил, что такая штука повторялась при переходе от версии к версии (в смысле апдейтах на новее), те в одной версии постгреса запросы имели одинаковую скорость, в другой разную. К сожалению на каких версиях и как истории нет. Сейчас стоит 8.2 версия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2008, 18:42 |
|
||
|
один и тот же select внутри функций.. разное время
|
|||
|---|---|---|---|
|
#18+
План первого запроса строится при первом обращении к функции за коннект и сохраняется таким. Если план был не оптимален, или стал не оптимален (данные изменились), то запрос, естественно, будет тормозить. Для второго варианта план строится на каждом вызове запроса - теряешь на постройке плана, но каждый раз он ближе к реальности. Кроме того, при постройке первого плана значение локальных переменных считается не известным, т.е. строится "общий" план для всевозможных значений "параметров" (которые образуются в тех местах, где используются локальные переменные). Во стором случае, запрос уже содержит все возможные значения, а значит план будет точнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2008, 18:11 |
|
||
|
один и тот же select внутри функций.. разное время
|
|||
|---|---|---|---|
|
#18+
слабо поискать по форуму? поиск: функция запрос план - один и тот же select внутри функций.. разное время - выполнение запроса в функции и вне - Как посмотреть план запроса внутри функции - Запрос в ф-ии стал на порядок медленнее... - Запрос внутри ф-ции работает медленнее !?!?!? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2008, 12:38 |
|
||
|
один и тот же select внутри функций.. разное время
|
|||
|---|---|---|---|
|
#18+
LeXa NalBatслабо поискать по форуму? поиск: функция запрос план - один и тот же select внутри функций.. разное время - выполнение запроса в функции и вне - Как посмотреть план запроса внутри функции - Запрос в ф-ии стал на порядок медленнее... - Запрос внутри ф-ции работает медленнее !?!?!? ну что за манеры... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2008, 16:22 |
|
||
|
один и тот же select внутри функций.. разное время
|
|||
|---|---|---|---|
|
#18+
Funny_FalconПлан первого запроса строится при первом обращении к функции за коннект и сохраняется таким. Если план был не оптимален, или стал не оптимален (данные изменились), то запрос, естественно, будет тормозить. Для второго варианта план строится на каждом вызове запроса - теряешь на постройке плана, но каждый раз он ближе к реальности. Кроме того, при постройке первого плана значение локальных переменных считается не известным, т.е. строится "общий" план для всевозможных значений "параметров" (которые образуются в тех местах, где используются локальные переменные). Во стором случае, запрос уже содержит все возможные значения, а значит план будет точнее. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2008, 16:24 |
|
||
|
один и тот же select внутри функций.. разное время
|
|||
|---|---|---|---|
|
#18+
4_Alex LeXa NalBatслабо поискать по форуму? поиск: функция запрос план - один и тот же select внутри функций.. разное время - выполнение запроса в функции и вне - Как посмотреть план запроса внутри функции - Запрос в ф-ии стал на порядок медленнее... - Запрос внутри ф-ции работает медленнее !?!?!? ну что за манеры... Уважаемый человек потратил СВОЕ время. показал как надо искать, привел примеры и претензии? Не хорошо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2008, 21:21 |
|
||
|
один и тот же select внутри функций.. разное время
|
|||
|---|---|---|---|
|
#18+
Gold_ 4_Alex LeXa NalBatслабо поискать по форуму? поиск: функция запрос план - один и тот же select внутри функций.. разное время - выполнение запроса в функции и вне - Как посмотреть план запроса внутри функции - Запрос в ф-ии стал на порядок медленнее... - Запрос внутри ф-ции работает медленнее !?!?!? ну что за манеры... Уважаемый человек потратил СВОЕ время. показал как надо искать, привел примеры и претензии? Не хорошо! Спасибо конечно, но без "слабо" было бы лучше, форум по моему и предназначен для бытрого решения поставленной задачи, не слабо перерыть кучу док и решить проблему, а вот экономить время....спасибо этому форуму и его участникам. я кстати так и не увидел в сслыках по поиску причину "торможения" запроса, там только понято что планер работает по разному (это я и сам интуитивно понимал). А вот почему? Funny_Falcon дал как по мне более исчерпывающую информацию. Можно конечно сказать что всё зависит от запроса, и надо исследовать проблему на конкретном примере, но закономерность повторяеться практически на ВСЕХ запросах где много данных и есть индексы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2008, 13:11 |
|
||
|
один и тот же select внутри функций.. разное время
|
|||
|---|---|---|---|
|
#18+
4_AlexСпасибо конечно, но без "слабо" было бы лучше Правила форума на SQL.RU (v1.0) Рекомендуется: Перед публикацией сообщений посмотреть, нет ли ответа на ваш вопрос в ... архивах форума. 4_Alexя кстати так и не увидел в сслыках по поиску причину "торможения" запроса, там только понято что планер работает по разному (это я и сам интуитивно понимал). А вот почему? ... закономерность повторяеться практически на ВСЕХ запросах где много данных и есть индексы."планер работает по разному" => получаются разные планы запросов => они выполняются разное время. интуитивно можно предположить, что чем больше информации имеет планировщик, тем более правильный (быстрый) план запроса он выберет. для запроса он знает значения параметров, в функции - не знает. 4_AlexМожно конечно сказать что всё зависит от запроса, и надо исследовать проблему на конкретном примере+1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2008, 15:00 |
|
||
|
|

start [/forum/topic.php?fid=53&fpage=278&tid=2004701]: |
0ms |
get settings: |
7ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
27ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
23ms |
get tp. blocked users: |
1ms |
| others: | 228ms |
| total: | 306ms |

| 0 / 0 |
