172 похожих чатов

Привет! Верно ли утверждение, что offset с сортировкой по индексу

будет работать быстрее, чем без него?

Везде говорят, что верно, т.к. offset без сортировки будет вынужден пройтись по всем полям таблицы, но я не понимаю зачем

Допустим, есть таблица товаров, на цене висит индекс. При выборке товаров будет выполнен бинарный поиск внутри price_index, а это значит, что внутри индекса товары уже отсортированы

1) Не понимаю, почему offset не может этим "воспользоваться"
2) Не понимаю, почему offsetу важен порядок полей

Грубо говоря, мы говорим базе: "возьми записи начиная с 50-ой", пусть и неотсортированной. Почему нельзя просто взять, и взять?

11 ответов

23 просмотра

У тебя таблица в куче?

А4 Одноногое- Автор вопроса

Offset без сортировки не имеет никакого смысла

А4 Одноногое- Автор вопроса
central hardware
Offset без сортировки не имеет никакого смысла

Это понятно, но не ясны детали) Буду очень благодарен, если поможете мои пункты разобрать А то chatgpt уже несколько часов мучаю, у меня путанница в голове 😵‍💫

central hardware
Offset без сортировки не имеет никакого смысла

Он имеет в виду почему в таком случае (если нет order by) Postgresql не может увидеть, что там есть индекс на столбце с ценой и считать, что это и есть сортировка

Dmitriy Sviridov
Он имеет в виду почему в таком случае (если нет or...

Звучит как вещь которая должна сломать 90 процентов постгреса

А4 Одноногое- Автор вопроса

Хорошо, сформулирую вопрос по-другому: почему offset не может взять данные из неотсортированного результата выборки? Я либо тупой, либо чего-то очень очевидного не замечаю... Почему он вынужден идти по всей таблице, когда результат выборки не отсортирован?? 😫

А4 Одноногое
Хорошо, сформулирую вопрос по-другому: почему offs...

так сделайте explain anakyze и посмотрите что происходит

А Вы не читайте там, где "говорят", а пробуйте самостоятельно. EXPLAIN (ANALYZE) SELECT * FROM test_select WHERE a_column > 1000000 OFFSET 10 LIMIT 20; Limit (cost=0.72..1.29 rows=20 width=4) (actual time=0.066..0.076 rows=20 loops=1) -> Index Only Scan using test_select_a_column_idx on test_select (cost=0.43..256312.54 rows=9003206 width=4) (actual time=0.058..0.069 rows=30 loops=1) Index Cond: (a_column > 1000000) Heap Fetches: 0 Вопрос исчерпан, по-моему.

А4 Одноногое- Автор вопроса
Yaroslav Schekin
А Вы не читайте там, где "говорят", а пробуйте сам...

На что здесь стоит обратить внимание? Я пытаюсь выяснить, не что происходит, а почему

А4 Одноногое
На что здесь стоит обратить внимание? Я пытаюсь вы...

Вы видите, что индекс в этой ситуации используется, и никакого "пройтись по всем полям таблицы" в плане нет? Следовательно, посылка Вашего вопроса неверна. Какое ещё "почему" Вас тут может интересовать?! ;)

Похожие вопросы

Обсуждают сегодня

зачем же переименовывать ? чтобы кол-во участников возросло или вдруг IBM от этого снова на свифте начнет кодить ? Я не понимаю что страшного в том что свифт гавно, если это т...
Oleh Nerzh
10
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
здравствуйте. совершаю вот такую вещь: strcpy(line, (char)current_number); где current number — неподписанный шорт, line — массив чаров. ругань следующая: main.c:29:30: error...
Roberto's Ширгозиев
13
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Добрый день! Подскажите, пожалуйста: какими компетенциями нужно обладать, чтобы претендовать на работу эрланг (отдельная благодарность, если про элексир тоже подскажете) разр...
via ☸️ led
20
Всем привет. Ребят подскажите пожалуйста. Вопрос по дизасемблировани. Начну с начала. У меня есть скомпилированная программа на ГО (я разработчик) - в ней есть защита лицензии...
Zloy
11
Можно попросить небольшое ревью кода? Тут немнога, я ничего интереснее не придумал, чем написать аналог tree в качестве практики с cmake. https://github.com/hrimov/tree-unix/...
Andrew Hrimov
11
Есть вопрос, по идее же эти два варианта работать будут одинаково? (В коде разумеется со стеком работа есть и много) create_cursor: .src equ esp .flags equ esp+4 .hcurs...
Mixail Frolov
4
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Карта сайта