powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Fb и постгре
30 сообщений из 30, показаны все 2 страниц
Fb и постгре
    #39754509
sergq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте .
Провёл тут небольшой эксперимент .
Есть небольшенькая база. Пара гигов .
Перелил её в 11 постгре.
Fb находится на hdd подзабитом.
Постгре стало на системный ssd

Нашёл относительно сложный отчёт .
Проход по таблицам шапка-тело, join справочников . Фильтр по дате и ещё пара полей.
В таблице тела вроде всего пара миллионов записей . В шапке не помню. Теоретически раз в 8 меньше.
Ну и в запросе есть большой case. В зависимости от значения поля тела ведёт подсчёт .
Собственно результат таков. Fb аж 23 секунды. Постгре 5 секунд.
Можно конечно погрешить на разницу hdd-ssd
Или все ж постгре быстрей справился?
...
Рейтинг: 0 / 0
Fb и постгре
    #39754515
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergq,

ну ты сравнил. На ssd любая СУБД быстрее работать будет.
Ну и по самому отчёту надо смотреть конкретный запрос и курить планы.
У постгре чуть больше методов доступа, но в данном случае далеко не факт что дело в этом.
...
Рейтинг: 0 / 0
Fb и постгре
    #39754521
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Опустим газету Правда в серную кислоту..."
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Fb и постгре
    #39754543
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergq,

в чем проблема базу posgresql поместить на "подзабитый hdd", или переместить базу ФБ на ssd, и повторить тест?
Сравнивать hdd и ssd - это лабуда. Например, ssd на M2 покажет вообще космические результаты.
...
Рейтинг: 0 / 0
Fb и постгре
    #39754548
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предположим что данные одинаковые ("перелил базу в PostgreSQL").
Нужно сделать одинаковое железо (воткнуть Firebird на тачку с постгресом), залить базу FB на тот же SSD.
А потом сравнивать не только скорость, но и планы запросов.

Вот тогда можно будет сделать какие-то выводы.
И кстати, они были бы интересны.
...
Рейтинг: 0 / 0
Fb и постгре
    #39754553
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraks,

да там много факторов дополнительных. Ещё вопрос как тот и другой сконфигурирован. Что за версия Fb, архитектура какая?
Пока мы видим только 11 постгре и не понятно что за Fb, да ещё и БД находятся на не сравнимых по скорости устройствах.
...
Рейтинг: 0 / 0
Fb и постгре
    #39754559
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пятничный наброс.
на вентилятор.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Fb и постгре
    #39754561
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergq,

версию Постгре привёл, а ФБ? Интересен сам скрипт. Допустим, вычисляете min(), а индекс у Вас "по возрастанию".

Модератор: Тема перенесена из форума "Firebird, InterBase".
...
Рейтинг: 0 / 0
Fb и постгре
    #39754576
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут и лопаты поширше, и материала для набрасывания побольше.
...
Рейтинг: 0 / 0
Fb и постгре
    #39754708
Фэйтл Эра
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergq...Собственно результат таков. Fb аж 23 секунды. Постгре 5 секунд.
Можно конечно погрешить на разницу hdd-ssd
Или все ж постгре быстрей справился?
Конечно же постгре порвет фб в абсолютно любых условиях, что там обсуждать.
...
Рейтинг: 0 / 0
Fb и постгре
    #39754721
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисЕщё вопрос как тот и другой сконфигурирован.Это важный вопрос. Возможно, превышается лимит памяти для сортировок, и он на диске данные шарашит.
...
Рейтинг: 0 / 0
Fb и постгре
    #39754734
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фэйтл Эраsergq...Собственно результат таков. Fb аж 23 секунды. Постгре 5 секунд.
Можно конечно погрешить на разницу hdd-ssd
Или все ж постгре быстрей справился?
Конечно же постгре порвет фб в абсолютно любых условиях, что там обсуждать.На SSD так 100%. Аваффтор дружит с головой ?
...
Рейтинг: 0 / 0
Fb и постгре
    #39754762
Фэйтл Эра
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglФэйтл Эрапропущено...

Конечно же постгре порвет фб в абсолютно любых условиях, что там обсуждать.На SSD так 100%. Аваффтор дружит с головой ?

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

Для метания какашек требуется гибкость языка, а не факты.
...
Рейтинг: 0 / 0
Fb и постгре
    #39755033
sergq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
собственно так получается

На HDD

Prepare time = 16ms
Execute time = 28s 688ms
Avg fetch time = 78,17 ms
Current memory = 35 994 048
Max memory = 104 160 072
Memory buffers = 2 048
Reads from disk to cache = 0
Writes from cache to disk = 0
Fetches from cache = 2 195 987


на SSD

Prepare time = 16ms
Execute time = 28s 455ms
Avg fetch time = 77,53 ms
Current memory = 35 990 480
Max memory = 104 114 104
Memory buffers = 2 048
Reads from disk to cache = 0
Writes from cache to disk = 0
Fetches from cache = 2 195 987



постгре на ссд

6.5 секунд


FB 2.5.8 27089
SuperServer

индексы вроде как все есть. natural нет нигде
...
Рейтинг: 0 / 0
Fb и постгре
    #39755036
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergqnatural нет нигде

Зато очевидно кое-где есть очень крупный SORT.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Fb и постгре
    #39755039
sergq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovsergqnatural нет нигде

Зато очевидно кое-где есть очень крупный SORT.


хм. ну да ) есть )

SORT (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN

там group by в наличии

и много такого

Код: plsql
1.
,sum(case when t1.c is not null and    t1.mark_id = 6 then 1 else 0 end) as m_id6
...
Рейтинг: 0 / 0
Fb и постгре
    #39755042
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergqхм. ну да ) есть )

И каталог для временных файлов - совсем не на SSD. Угадал?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Fb и постгре
    #39755044
sergq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovsergqхм. ну да ) есть )

И каталог для временных файлов - совсем не на SSD. Угадал?..


нет. как раз то на SSD. стандартно windows\temp
...
Рейтинг: 0 / 0
Fb и постгре
    #39755046
sergq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если уж быть совсем точным, то файл сортировки появляется через секунд 11 после запуска запроса. всего - 28 секунд
...
Рейтинг: 0 / 0
Fb и постгре
    #39755080
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergqесли уж быть совсем точным, то файл сортировки появляется через секунд 11 после запуска запроса. всего - 28 секундА в ПЖ он тоже появляется? Видимо, нет.
Увеличь в 10 раз макс. лимит памяти для сортировок в firebird.conf
...
Рейтинг: 0 / 0
Fb и постгре
    #39755082
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TempCacheLimit
...
Рейтинг: 0 / 0
Fb и постгре
    #39755083
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поставь ему 640Mb, например.
...
Рейтинг: 0 / 0
Fb и постгре
    #39755094
sergq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRocksergqесли уж быть совсем точным, то файл сортировки появляется через секунд 11 после запуска запроса. всего - 28 секундА в ПЖ он тоже появляется? Видимо, нет.
Увеличь в 10 раз макс. лимит памяти для сортировок в firebird.conf

Prepare time = 15ms
Execute time = 28s 595ms
Avg fetch time = 77,92 ms
Current memory = 35 945 120
Max memory = 244 593 968
Memory buffers = 2 048
Reads from disk to cache = 0
Writes from cache to disk = 0
Fetches from cache = 2 195 987



без файла сортировки

минимизировал запрос и начал усложнять

вот такое вот

Код: plsql
1.
left join p on p.o78_id = sv.o78_id and s.datee between p.from_date and p.to_date



прибавляет сразу секунд 10-13. В таблице всего 33000 записей. запросе поучаствовали 16000

индексы на p берет такие

INDEX (P_IDX9, P_IDX2))

Код: plsql
1.
2.
CREATE INDEX P_IDX2 ON P (TO_DATE);
CREATE INDEX P_IDX9 ON P (o78_ID, FROM_DATE);


хотя имеется такой

Код: plsql
1.
CREATE INDEX P_IDX4 ON P (O78_ID, FROM_DATE, TO_DATE);
...
Рейтинг: 0 / 0
Fb и постгре
    #39755110
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergqхотя имеется такой

Убей его, он совершенно бесполезен.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Fb и постгре
    #39755111
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergqвот такое вот

Код: plsql
1.
left join p on p.o78_id = sv.o78_id and s.datee between p.from_date and p.to_date




прибавляет сразу секунд 10-13. В таблице всего 33000 записейУмножь это на 2 млн из основной таблицы и получишь кол-во записей, которые приходится перебрать.
Индекс в данном случае срабатывает только по 1-му полю.
Если заменить бетвин на два простых условия - начнет срабатывать 2-й ключ индекса, что может дать ускодение в ~2 раза.
...
Рейтинг: 0 / 0
Fb и постгре
    #39755133
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergq,

для суперсервера кеш маловат.
Скорее всего путём несложных манипуляций можно уменьшить ширину резалтсета для сортировки и укорить запрос раз в 10. Но это надо смотреть сам запрос.

А план постгреса можешь дать. Вполне возможно он делает группировку не сортировкой а HASH GROUP, Firebird пока так не умеет.
...
Рейтинг: 0 / 0
Fb и постгре
    #39755140
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergq,

еще до кучи - судя по плану там сплошные left join. Оптимизатор ФБ выполняет их последовательно, так как они написаны в запросе.
Ускорить можно если поменять порядок джойнов, на первое место поставить те, которые объединяют наименьшие таблицы.
...
Рейтинг: 0 / 0
Fb и постгре
    #39755163
sergq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если вот так вот
left join p on p.o78_id = sv.o78_id and s.datee between p.from_date+0 and p.to_date+0
используется индекс только по o78_id
- время падает до 12-13 секунд


если вот так вот
left join p on p.o78_id = sv.o78_id and s.datee between p.from_date and p.to_date
используется индекс по (O78_ID,FROM_DATE)
- время падает до 10 секунд


единственное по P зашкаливают (относительно) индексные чтения

без разницы на SSD или на HDD

но у постгре все те ж 6-7 секунд )

постгре тоже вроде как берет индекс только по o78_id (index scan)
а between - join filter ((s.datee >= p.from_date) and (s.datee <= p.to_date))

про HASH GROUP нет ничего в плане.
мансимум что есть - SortMethod: external merge Disk: 46544 kb


join в запросе идут от меньшей к большей таблице, а потом опять к меньшей (p) . по P все и считается
...
Рейтинг: 0 / 0
Fb и постгре
    #39755182
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergqпро HASH GROUP нет ничего в плане.

Но ты и дальше будешь нагнетать интригу или таки покажешь подробные планы (explain plan) с
обеих СУБД?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Fb и постгре
    #39755239
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Тебе что ли здоровье уже не позволяет??

А то мало толковых в это время....
...
Рейтинг: 0 / 0
30 сообщений из 30, показаны все 2 страниц
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Fb и постгре
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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