Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Быстрая сортировка
|
|||
|---|---|---|---|
|
#18+
В таблице до х... записей, база - часть web-проекта. Соотв-но время выполнения запросов критично. Выбираем записи с исп-ем limit - offset, однако понятно, что при добавлении сортировки по-любому полю время выполнения взлетает до бесконечности в отд. случаях. Вопрос: возможно ли как-нибудь контролировать сортировку по умолчанию дабы ни использовать order by и сохранить минииальное время на выполнение? Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2004, 18:57 |
|
||
|
Быстрая сортировка
|
|||
|---|---|---|---|
|
#18+
Индексы обычно делают по тем полям, по которым сортировка будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2004, 19:25 |
|
||
|
Быстрая сортировка
|
|||
|---|---|---|---|
|
#18+
Не помогает :( Еще есть предложения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2004, 19:45 |
|
||
|
Быстрая сортировка
|
|||
|---|---|---|---|
|
#18+
Тут пробегала статья, про настройку производительности... "1.1 Не используйте настройки по умолчанию" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2004, 22:41 |
|
||
|
Быстрая сортировка
|
|||
|---|---|---|---|
|
#18+
при добавлении сортировки по-любому полю время выполнения взлетает до бесконечности в отд. случаях Если в некотором запросе вместо indexscan-а используется seqscan и именно из-за этого "время выполнения взлетает до бесконечности", то надо построить индекс по нужным полям (которые указаны в order by), и например обязательно включить в order by (и в индекс) поля, на которые наложены ограничения на равенство в условии where. Не помогает :( Приведите пример вашей таблицы и медленно выполняющегося запроса. Выбираем записи с исп-ем limit - offset Если в запросе большой offset, то постгрес должен прочитать это большое число записей прежде чем начнет выдавать результат. У меня запрос "select id from foo order by id limit 10" работает 0.15 секунды, а запрос "select id from foo order by id offset 1000000 limit 10" - 3.5 секунды. Как побороть такое замедление, не знаю. :-( Может быть ввести поле ordr, которое будет упорядочено как id, но принимать последовательные натуральные значения начиная с 1 - тогда второй запрос надо переписать так: "select id from foo where ordr > 1000000 order by ordr limit 10", и он будет выполняться быстро. Однако как в этом случае быстро добавлять строки с id<max(id), удалять строки? Вопрос: возможно ли как-нибудь контролировать сортировку по умолчанию дабы ни использовать order by и сохранить минииальное время на выполнение? Нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2004, 10:28 |
|
||
|
Быстрая сортировка
|
|||
|---|---|---|---|
|
#18+
ВСЕМ ОГРОМНОЕ СПАСИБО!!! РАЗОБРАЛСЯ!!! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2004, 12:53 |
|
||
|
Быстрая сортировка
|
|||
|---|---|---|---|
|
#18+
Вариант с where не катит в том случае если offset пока ещё не очень велик по отношению к количеству записей, т.к. оптимизатор предпочитает не использовать индекс в этом случае, даже при условии небольшого limit. Решение - использовать ограничение сверху, но это не всегда реально сделать точно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2004, 18:19 |
|
||
|
Быстрая сортировка
|
|||
|---|---|---|---|
|
#18+
оптимизатор предпочитает не использовать индекс в этом случае, даже при условии небольшого limit может быть вы забыли указать order by? (limit без order by - ошибка ) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2004, 18:47 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=32655566&tid=2007712]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
165ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
| others: | 257ms |
| total: | 530ms |

| 0 / 0 |
