| От | Tom Lane |
|---|---|
| Тема | Re: 7.3.2 indexes in PL/PgSQL |
| Дата | |
| Msg-id | 29607.1051301760@sss.pgh.pa.us обсуждение исходный текст |
| Ответ на | 7.3.2 indexes in PL/PgSQL (Evgeny Duzhakow <diabolo@philol.msu.ru>) |
| Список | pgsql-bugs |
Evgeny Duzhakow <diabolo@philol.msu.ru> writes:
> SELECT playerid FROM players WHERE nickname = 'qq' AND password = 'qqq';
> [ does an index scan ]
> but in procedure on PL/PgSQL this select realy do sequense scan:
I'd bet that you were sloppy about datatypes. Postgres will
automatically interpret those quoted literals as being the same datatype
as what they were compared to, but there's no such free lunch when
you're dealing with declared variables in a plpgsql function. If the
datatypes don't match you probably won't get an index scan. Change the
types to match or add explicit coercions.
regards, tom lane
В списке pgsql-bugs по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера