powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / select * в PostgreSQL и Oracle
4 сообщений из 4, страница 1 из 1
select * в PostgreSQL и Oracle
    #35227923
Алексей Филиппов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброе время суток.

Есть таблица в полтора миллиона записей.
Крутится на Oracle. Когда делаешь select * from table_name - отрабатывает в момент.
После переноса на PostgreSQL тот же select * from table_name работает 2 минуты.
Железо одинаковое. Oracle 9.2.0.6, Postgres 8.3.1

Вот postgresql.conf:

listen_addresses = '*'
max_connections = 100
superuser_reserved_connections = 5
max_fsm_pages = 153600
max_stack_depth = 2MB
shared_buffers = 300MB
temp_buffers = 20MB
work_mem = 2MB
fsync = off
constraint_exclusion = on
enable_seqscan = off
log_line_prefix = '%s %h %u '
log_min_duration_statement = 60000
log_min_error_statement = warning
log_statement = 'ddl'
datestyle = 'iso, dmy'
lc_messages = 'ru_RU.UTF-8'
lc_monetary = 'ru_RU.UTF-8'
lc_numeric = 'ru_RU.UTF-8'
lc_time = 'ru_RU.UTF-8'

vacuum full, vacuum analyze выполнены.

Как заставить PostgreSQL с той же скоростью выгребать данные, как и oracle???
...
Рейтинг: 0 / 0
select * в PostgreSQL и Oracle
    #35227971
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если Oracle делает FTS (Full Table Scan), он читает не по 1 блоку, а куски блоков, определяемые параметром db_file_multiblock_read_count (разумеется, мы не учитываем, что некоторые нужные блоки уже могут находиться в buffer cache).
Возможно, в PostgreSQL есть что-то аналогичное...
...
Рейтинг: 0 / 0
select * в PostgreSQL и Oracle
    #35227974
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
обращайтесь в соответствующий форум
...
Рейтинг: 0 / 0
select * в PostgreSQL и Oracle
    #35227975
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
совсем как в оракле не получится. оракл когда делает фул-скан применяет многоблочное чтение, постгрес еще так не умеет. как вариант увеличить кеш (shared_buffers наверно, 300Mb совсем мало) и запихнуть (как-то) эту табличку полностью в кеш.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / select * в PostgreSQL и Oracle
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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