Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
PL/Python function in index expression
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Имею Linux, PostgreSQL 8.1, Python 2.3 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. После этого заглядываю в /tmp/f1.log - там, как и ожидалось, 2 строчки с log Код: plaintext 1. 2. После этого в /tmp/f1.log появляются еще 2 строчки с log - логично, нужно же было как-то посчитать значения индекса Код: plaintext 1. 2. 3. 4. 5. 6. И вот после этого в /tmp/f1.log появляются еще 2 строчки с log - почему? Ведь у СУБД есть индекс, зачения выражения известны, следовательно вызывать функцию не требуется. А она вызывается. Это баг? Или так положено? Или где-то настраивается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2005, 16:52 |
|
||
|
PL/Python function in index expression
|
|||
|---|---|---|---|
|
#18+
На маленькой таблице seq scan скорее всего идёт. Индекс не используется => функция вычисляется на каждую строку. К сожалению невозможно приписать функции большую стоимость, хотя бы с потолка, чтобы оптимизатор подпихнуть к использованию индекса. Надо смотреть на реальных данных, поиграться с enable_seqscan=false. Можно добавить поле с обычным индексом и вычислять его триггером. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2005, 03:59 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=33416174&tid=2006819]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
66ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 257ms |
| total: | 429ms |

| 0 / 0 |
