Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / select * в PostgreSQL и Oracle / 4 сообщений из 4, страница 1 из 1
01.04.2008, 17:00
    #35227923
Алексей Филиппов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select * в PostgreSQL и Oracle
Доброе время суток.

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


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