powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / SELECT работает слишком медленно с ORDER BY
5 сообщений из 30, страница 2 из 2
SELECT работает слишком медленно с ORDER BY
    #39239310
NewBie77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maxim BogukNewBie77Нету никаких идей ребят как решить данную проблему ?

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
create table test_table as 
SELECT "tbl".id,  "tbl"."display_name" 
FROM "tbl" 
WHERE (("tbl"."active" = 'True')  AND  ("tbl"."is_company" IS NULL or "tbl"."is_company" = false )) ;

vacuum analyze  test_table;

select count(*) from test_table;

select max(length(display_name)) from test_table;

select pg_size_pretty(pg_table_size('test_table'));

explain analyze select id from test_table order by display_name;




а дальше я подумаю в чем беда.

--
Maxim Boguk
www.postgresql-consulting.ru

wok_mem стоит 4 mb

Код: plsql
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.
28.
29.
restore_02_07_2016=# vacuum analyze  test_tbl;
VACUUM
restore_02_07_2016=# select count(*) from test_tbl;
 count 
-------
 94967
(1 row)

restore_02_07_2016=# select max(length(display_name)) from test_tbl;
 max 
-----
 102
(1 row)

restore_02_07_2016=# select pg_size_pretty(pg_table_size('test_tbl'));
 pg_size_pretty 
----------------
 7432 kB
(1 row)

restore_02_07_2016=# explain analyze select id from test_tbl order by display_name;
                                                     QUERY PLAN                                                      
---------------------------------------------------------------------------------------------------------------------
 Sort  (cost=12647.63..12885.05 rows=94967 width=47) (actual time=55872.313..62291.336 rows=94967 loops=1)
   Sort Key: display_name
   Sort Method: external merge  Disk: 5352kB
   ->  Seq Scan on test_tbl  (cost=0.00..1873.67 rows=94967 width=47) (actual time=0.007..28.475 rows=94967 loops=1)
 Total runtime: 62303.519 ms
(5 rows)

...
Рейтинг: 0 / 0
SELECT работает слишком медленно с ORDER BY
    #39239358
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NewBie77,

EXPLAIN (analyze, buffers) приведите.
...
Рейтинг: 0 / 0
SELECT работает слишком медленно с ORDER BY
    #39239363
Alexius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NewBie77,

а можно последний запрос с explain (analyze, buffers, timing) выполнить? у меня пока только подозрение что сервер по процессору перегружен и виртуалке не хватает ресурсов.
...
Рейтинг: 0 / 0
SELECT работает слишком медленно с ORDER BY
    #39239380
NewBie77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Sort  (cost=15954.23..16191.63 rows=94960 width=47) (actual time=57116.927..63548.542 rows=94967 loops=1)
   Sort Key: display_name
   Sort Method: external merge  Disk: 5352kB
   Buffers: shared hit=4225, temp read=671 written=671
   ->  Seq Scan on tbl  (cost=0.00..5180.90 rows=94960 width=47) (actual time=0.013..118.262 rows=94967 loops=1)
         Filter: (active AND ((is_company IS NULL) OR (NOT is_company)))
         Rows Removed by Filter: 623
         Buffers: shared hit=4225
 Total runtime: 63562.757 ms
(9 rows)




Но это все на тестовом сервере ,на основном пока не могу изменить work_mem
...
Рейтинг: 0 / 0
SELECT работает слишком медленно с ORDER BY
    #39239498
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NewBie77,

Ок т.е. приходим к выводу что у вас наблюдается какая то проблема с сравнением UTF строк средствами libc (точнее с производительностью сортировки).
Вопросы:
1)версия базы (все три цифры)
2)версия линукса (ядро) и дистрибутив
3)что говорит ldd --version
4)а можете куда то выложить dump таблицы test_table для изучения ? он не должен быть особо большим.
?
...
Рейтинг: 0 / 0
5 сообщений из 30, страница 2 из 2
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / SELECT работает слишком медленно с ORDER BY
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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