powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Почему лишино смысла делать random_page_cost меньше seq_page_cost ?
10 сообщений из 10, страница 1 из 1
Почему лишино смысла делать random_page_cost меньше seq_page_cost ?
    #39855048
Синий Слон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый вечер,

Почему лишино смысла делать random_page_cost меньше seq_page_cost ?

Никак не могу понять
...
Рейтинг: 0 / 0
Почему лишино смысла делать random_page_cost меньше seq_page_cost ?
    #39855052
Синий Слон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проверил методом тыка, ставлю 100 - эффект такой же как при равном random_page_cost.
...
Рейтинг: 0 / 0
Почему лишино смысла делать random_page_cost меньше seq_page_cost ?
    #39855191
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Синий Слон,

Значит для построения плана вашего запроса эта разница несущественна.
Но это не всегда так:
Код: sql
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.
postgres=# create table t (id int);
CREATE TABLE
postgres=# insert into t select x from generate_series(1,1000000) as x;
INSERT 0 1000000
postgres=# create index on t(id);
CREATE INDEX
postgres=# vacuum analyze t;
VACUUM
postgres=# set seq_page_cost = 1;
SET
postgres=# set random_page_cost = 1;
SET
postgres=# explain select id from t;
                        QUERY PLAN                         
-----------------------------------------------------------
 Seq Scan on t  (cost=0.00..14425.00 rows=1000000 width=4)
(1 row)

postgres=# set seq_page_cost = 10;
SET
postgres=# explain select id from t;
                                   QUERY PLAN                                    
---------------------------------------------------------------------------------
 Index Only Scan using t_id_idx on t  (cost=0.42..17745.42 rows=1000000 width=4)
(1 row)
...
Рейтинг: 0 / 0
Почему лишино смысла делать random_page_cost меньше seq_page_cost ?
    #39855208
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Синий Слон,

Это подсказки планировщику.
Чем лучше у вас диски, тем дешевле у вас произвольный доступ, тем меньше надо ставить random_page_cost.

Если сделать маленьким r_p_c при маленьком кэше и фиговых дисках, планировщик будет чаще выбирать индексный доступ (ему так сказали) и запросы будут упираться в диски.

Если база влазит в RAM целиком, то можно сделать r_p_c и s_p_c одинаковыми, т.к. всё равно из памяти читаем.
Но если таки подросла и больше не влазит, да при фиговых дисках — будут затупы.

Для серверных SSD можно уменьшить s_p_c и r_p_c на порядок, т.к. диски очень быстрые и это проще, чем понижать остальные _cost параметры.

Делать r_p_c меньше чем s_p_c можно, но смысле нет, т.к. произвольный доступ пока не бывает быстрее, чем последовательный. Наверное…
...
Рейтинг: 0 / 0
Почему лишино смысла делать random_page_cost меньше seq_page_cost ?
    #39855220
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vyegorovДля серверных SSD можно уменьшить s_p_c и r_p_c на порядок, т.к. диски очень быстрые и это проще, чем понижать остальные _cost параметры.
Здесь наверное "повышать" имелось в виду?
...
Рейтинг: 0 / 0
Почему лишино смысла делать random_page_cost меньше seq_page_cost ?
    #39855337
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел ЛузановvyegorovДля серверных SSD можно уменьшить s_p_c и r_p_c на порядок, т.к. диски очень быстрые и это проще, чем понижать остальные _cost параметры.
Здесь наверное "повышать" имелось в виду?
Да, конечно. Ошибся.
...
Рейтинг: 0 / 0
Почему лишино смысла делать random_page_cost меньше seq_page_cost ?
    #39855344
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Синий СлонДобрый вечер,

Почему лишино смысла делать random_page_cost меньше seq_page_cost ?

Никак не могу понять

Потому что это противоречит физике работы устройства (от механических дисков через ssd и до оперативной памяти)... у них у всех случайный доступ медленее чем последовательный )).
...
Рейтинг: 0 / 0
Почему лишино смысла делать random_page_cost меньше seq_page_cost ?
    #39857244
nedba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vyegorovСиний Слон,

Делать r_p_c меньше чем s_p_c можно, но смысле нет, т.к. произвольный доступ пока не бывает быстрее, чем последовательный. Наверное…

Вовсе нет, современные SSD не имеют штрафа на раскрутку шпинделя диска - это раз, и имеют мультиканальный (параллельный) доступ к _разным_ банкам памяти - это два. Для них (при некоторых, но достаточно частых условиях из жизни) рандомный доступ физически быстрее чем последовательный.
...
Рейтинг: 0 / 0
Почему лишино смысла делать random_page_cost меньше seq_page_cost ?
    #39857940
Синий Слон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nedbavyegorovСиний Слон,

Делать r_p_c меньше чем s_p_c можно, но смысле нет, т.к. произвольный доступ пока не бывает быстрее, чем последовательный. Наверное…

Вовсе нет, современные SSD не имеют штрафа на раскрутку шпинделя диска - это раз, и имеют мультиканальный (параллельный) доступ к _разным_ банкам памяти - это два. Для них (при некоторых, но достаточно частых условиях из жизни) рандомный доступ физически быстрее чем последовательный.


Т.е. все же можно установить рандомный меньше?

Ну я имею ввиду, будет ли на это реагировать планировщик или для него это будет тоже самое что они равны?
...
Рейтинг: 0 / 0
Почему лишино смысла делать random_page_cost меньше seq_page_cost ?
    #39858016
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Синий Слонnedbaпропущено...


Вовсе нет, современные SSD не имеют штрафа на раскрутку шпинделя диска - это раз, и имеют мультиканальный (параллельный) доступ к _разным_ банкам памяти - это два. Для них (при некоторых, но достаточно частых условиях из жизни) рандомный доступ физически быстрее чем последовательный.


Т.е. все же можно установить рандомный меньше?

Ну я имею ввиду, будет ли на это реагировать планировщик или для него это будет тоже самое что они равны?

1)да можно

2)да будет
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Почему лишино смысла делать random_page_cost меньше seq_page_cost ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]