Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
0 / 0 / 0
Регистрация: 18.02.2019
Сообщений: 32

Сравнение производительности MSSQL и PostgreSQL

08.04.2025, 14:14. Показов 4049. Ответов 35

Студворк — интернет-сервис помощи студентам
Тема для тех, кто юзает обе СУБД.

В Инете нашёл несколько восторженных статей, что PG ни чуть не хуже, а в некоторых случаях даже лучше MSSQL по производительности.
Единственные нарекания только на оптимизатор PG, т.е., его производительность может упасть при очень сложных запросах

Во-первых, я что-то не так оптимистичен по поводу производительности в отношении PG. Во-вторых, он очень неудобный в плане отладки. Нет нормальных менеджеров. Причём функционал даже платных менеджеров не позволяет создавать индексы с включёнными столбцами, не участвующими в построении индекса (опция INCLUDE). Такая опция имеется только в pgAdmin, но он, сам по себе, уё...

У кого, какое мнение?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.04.2025, 14:14
Ответы с готовыми решениями:

Совместимость datetime в MSSQL 7 и MSSQL 2000
Господа, помогите разобраться. Такая ситуация, понаписал скриптов под SQL 7, перенесли на SQL 2000,...

Перенос БД из MSSQL 6.5 на MSSQL 7.0
Как перенести базу с сервера 6.5 на сервер 7.0? Серверы стоят на разных компьютерах. В помощи...

Сравнение производительности представлений и временных таблиц
Хотел уточнить, использование какого сервиса будет снижать сильнее производительность сервера,...

35
Эксперт .NET
 Аватар для Usaga
14314 / 9398 / 1355
Регистрация: 21.01.2016
Сообщений: 35,431
08.04.2025, 15:54
Лучший ответ Сообщение было отмечено avm71 как решение

Решение

Цитата Сообщение от avm71 Посмотреть сообщение
Причём функционал даже платных менеджеров не позволяет создавать индексы с включёнными столбцами, не участвующими в построении индекса (опция INCLUDE). Такая опция имеется только в pgAdmin, но он, сам по себе, уё...
Чё?.. Обычным запросом индексы в базе уже не модно стало создавать?..
0
 Аватар для Andrey-MSK
3357 / 2243 / 388
Регистрация: 14.08.2018
Сообщений: 7,585
Записей в блоге: 4
08.04.2025, 16:17
Лучший ответ Сообщение было отмечено avm71 как решение

Решение

Цитата Сообщение от Usaga Посмотреть сообщение
Чё?.. Обычным запросом индексы в базе уже не модно стало создавать?..
Этож скока буковок нужно нажать и ещё слова нужно знать забугорные, а так крысой подавил по кнопкам и готово
0
Эксперт .NET
 Аватар для Usaga
14314 / 9398 / 1355
Регистрация: 21.01.2016
Сообщений: 35,431
08.04.2025, 16:26
Andrey-MSK, ну да) Кнопочку не дали - значит фича не доступна) Пойти почитать учебник? Да ну нафиг!)))
1
1306 / 360 / 98
Регистрация: 14.10.2022
Сообщений: 1,103
08.04.2025, 17:04
avm71, ты ответь, тебе купить или продать?
Если отбояриться от переноса унаследованного ПО с сикуела на постгресс - это один вопрос.
Если проект новый, и ты оцениваешь, чего брать [то ответ - однозначно постгресс (про), как не имеющий политических рисков, и вообще так положено по требованиям ЦБ РФ] - то требуется дополнительное исследование проекта.
2
Valechka-Думай о Высоком
 Аватар для Ludwig Valentin
171 / 290 / 26
Регистрация: 11.08.2022
Сообщений: 3,713
09.04.2025, 00:19
Цитата Сообщение от avm71 Посмотреть сообщение
в отношении PG. Во-вторых, он очень неудобный в плане отладки. Нет нормальных менеджеров.
Попробуйте dbeaver.
1
Эксперт .NET
 Аватар для Usaga
14314 / 9398 / 1355
Регистрация: 21.01.2016
Сообщений: 35,431
09.04.2025, 00:39
Цитата Сообщение от Ludwig Valentin Посмотреть сообщение
Попробуйте dbeaver.
Это хорошая штука. Сами ею на работе пользуемся. Но у ТС проблемы на системном уровнем. Это лечится чтением учебника\документации по постгре в первую очередь...

Иначе он так и будет бегать в поисках "менеджера" с волшебной кнопочкой...
0
0 / 0 / 0
Регистрация: 18.02.2019
Сообщений: 32
10.04.2025, 13:15  [ТС]
Переписываю готовый проект

Добавлено через 31 секунду
Тоже к такому выводу пришёл

Добавлено через 2 минуты
Все эти буковки я знаю - это простое удобство, если забыл, как построен индекс, заглянуть в его устройство.
а если так рассуждать, давайте на ассемблере всё программировать - там ещё больше букв
0
Эксперт .NET
 Аватар для Usaga
14314 / 9398 / 1355
Регистрация: 21.01.2016
Сообщений: 35,431
10.04.2025, 17:46
Цитата Сообщение от avm71 Посмотреть сообщение
а если так рассуждать, давайте на ассемблере всё программировать - там ещё больше букв
Не надо до абсурда сводить мои слова. Я тебе предлагаю не буковки знать, а учебник по постгресу почитать. Или документацию. Чтобы знать как там можно легко и без менеджеров платных создать индексы покрывающие.
0
0 / 0 / 0
Регистрация: 18.02.2019
Сообщений: 32
11.04.2025, 11:29  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
Чё?.. Обычным запросом индексы в базе уже не модно стало создавать?..
Переписать проект на другие лыжи в связи с рекомендацией для критически важных предприятий
Я знаю как строится индекс . Вы, как я погляжу любители ручной работы? Я привык при достижении результата пользоваться всеми доступными инструментами.
С помощью INCLUDE в индекс добавляются просто значения указанных колонок. Эти колонки в построении индекса (ключа) не участвуют. Индекс с неключевыми столбцами может значительно повысить производительность запроса, когда все столбцы запроса включены в индекс как ключевые или неключевые. Повышение производительности достигается, так как оптимизатор запросов может найти все значения столбцов в индексе и, в этом случае, нет необходимости прыгать за данными в саму таблицу.

Когда у тебя в проекте несколько десятков таблиц ты уже не помнишь структуру всех индексов. Очень удобно в интерфейсе менеджера ткнуть в индекс и увидеть его структуру.
Так вот, все менеджеры (платные и бесплатные), кроме pgAdmin видят столбцы из рубрики INCLUDE в составе ключевых столбцов.
0
1341 / 920 / 265
Регистрация: 08.08.2014
Сообщений: 2,768
11.04.2025, 11:59
Цитата Сообщение от avm71 Посмотреть сообщение
Вы, как я погляжу любители ручной работы?
Ну это надёжнее и безопаснее, чем через UI. Ну т.е. посмотреть список/состав индексов ок, через UI это реально удобно. Но вот создавать/редактировать структуру БД через UI - слишком страшно, потому как каждый раз приходится гадать, что там этот платный/бесплатный инструмент нагенерирует.

Ну и на реальных проектах вообще не понятно, как через UI структуру БД менять - кто-то из коллег добавил/поменял индекс/таблицу/итп, описал всё это в виде SQL, закоммитил ... и при публикации проекта в прод/тест (или даже при запуске в локально в отладке) мне куда проще взять этот SQL из Гита, бегло оценить суть и потом просто выполнить, чем открывать UI, выискивать там нужную таблицу и там этот индекс мышкой повторять, читая SQL его создания/модификации.

P.S.: к тому же, разные UI-инструменты могут вести себя по-разному, иметь разные параметры по умолчанию, а ещё могут менять своё поведение при обновлении версии. А SQL-скрипт - он как работал, так и продолжает работать.
3
932 / 365 / 43
Регистрация: 10.05.2021
Сообщений: 1,564
Записей в блоге: 10
11.04.2025, 13:10
Цитата Сообщение от kotelok Посмотреть сообщение
Ну это надёжнее и безопаснее, чем через UI
+ быстрее
+ UI могут помешать ограничения, которых не будет у скрипта
+ скрипты можно хранить в проекте/блокноте/ХП — быстро находить и быстро запускать, при необходимости
1
Эксперт .NET
 Аватар для Usaga
14314 / 9398 / 1355
Регистрация: 21.01.2016
Сообщений: 35,431
11.04.2025, 16:23
avm71, я не понимаю о какой ручной работе ты говоришь. И тем более о какой её улучшении в тыкании мышью в GUI менеджера.

У нас в проекте более шести сотен таблиц и вьюх. Мне не надо ничего такого обо всём этом помнить. Или иметь какой-то особенный "волшебный" менеджер.

Если мне надо посмотреть где что есть, я в DBViewer это делаю. А если надо куда-то что-то добавить, то это уже определённый ритуал, с созданием миграции базы. А это в любом случае ручная работа. В любом. Ведь эта миграция должна быть автоматизирована и воспроизводима. Чтобы другие разработчики могли воспроизвести. И тестировщики. И у пользователей оно воспроизвелось.

А то, что ты тут спрашиваешь - какой-то детский садик.
0
0 / 0 / 0
Регистрация: 18.02.2019
Сообщений: 32
11.04.2025, 16:26  [ТС]
Цитата Сообщение от kotelok Посмотреть сообщение
Ну это надёжнее и безопаснее, чем через UI. Ну т.е. посмотреть список/состав индексов ок, через UI это реально удобно. Но вот создавать/редактировать структуру БД через UI - слишком страшно, потому как каждый раз приходится гадать, что там этот платный/бесплатный инструмент нагенерирует.
...в том-то и всё дело. У MS SQL Очень надёжный UI (многолетняя эксплуатация) - проблем никогда не было, всё чётко. Потому и задаю эти вопросы, чтобы понять чего мне ожидать на этом новом поприще (переписывать БД на MS SQL в PG), и узнать у опытных людей, как грамотно управляться с PG - хочется сначала определиться с инструментами.
0
Эксперт .NET
 Аватар для Usaga
14314 / 9398 / 1355
Регистрация: 21.01.2016
Сообщений: 35,431
11.04.2025, 16:28
Цитата Сообщение от avm71 Посмотреть сообщение
У MS SQL Очень надёжный UI (многолетняя эксплуатация) - проблем никогда не было, всё чётко
Ты не поверишь, но у MS SQL никогда не было и нет никакого UI... SQL Management Studio не является частью СУБД SQL Server. И более того: оно не является единственной админкой для этой СУБД.
0
0 / 0 / 0
Регистрация: 18.02.2019
Сообщений: 32
11.04.2025, 16:35  [ТС]
...В общем, ладно. Попробовав кучу всего тоже пришёл к выводу, что для PG использовать DBever.
Всем откликнувшимся спасибо!

P.S.
Т.к., альтернатив перехода от вражеского ПО нет, будем работать с тем, что имеем, с PG, тем более, что о нём очень много лестных отзывов. Но очень не привычно.
0
Эксперт .NET
 Аватар для Usaga
14314 / 9398 / 1355
Регистрация: 21.01.2016
Сообщений: 35,431
11.04.2025, 16:41
avm71, заметь: PG тебе тоже не очень дружеский. Только платный PostgreSQL PRO, который стоит как крыло от самолёта.
0
0 / 0 / 0
Регистрация: 18.02.2019
Сообщений: 32
15.04.2025, 09:59  [ТС]
Добавлено через 1 минуту
Цитата Сообщение от Usaga Посмотреть сообщение
avm71, заметь: PG тебе тоже не очень дружеский. Только платный PostgreSQL PRO, который стоит как крыло от самолёта.
Для организации это меньше, чем копейки (если это, конечно, не ларёк с леденцами). Главное соответствие требованиям по функционалу, надёжности и информационной политике.
Оборудование, на котором будет крутиться СУБД в разы дороже
0
Valechka-Думай о Высоком
 Аватар для Ludwig Valentin
171 / 290 / 26
Регистрация: 11.08.2022
Сообщений: 3,713
17.04.2025, 16:14
Цитата Сообщение от Usaga Посмотреть сообщение
Только платный PostgreSQL PRO
А вам нужна репликация?
Или купите хостинг у провайдера, или вы серьёзная фирма со своим интранетом и DMZ?
0
Эксперт .NET
 Аватар для Usaga
14314 / 9398 / 1355
Регистрация: 21.01.2016
Сообщений: 35,431
17.04.2025, 16:47
Ludwig Valentin, я не понимаю вопроса. Мы здесь чьи горести обсуждаем?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.04.2025, 16:47
Помогаю со студенческими работами здесь

Сравнение строк в двух SELECT (MSSQL 2008)
Добрый день. Подскажите пожалуйста, как сделать следующее: Сравнить два набора: SELECT column1...

MySQL и MsSQL на одной машине
Ребята вопрос простой. В небольшой локальной сети есть компьютер на котором крутится mssql сервер...

Конвертор с MySQl в MSSQL
Кто знает программы по конвертированию БД с MySQl в MSSQL

Полный экспорт базы данных mssql
Цель- перенести полностью database с одной машины на другую. Думал этот вопрос мне будет понятен и...

Win7 и MSSQL 2005
Доброго времени суток!Подскажите пожалуйста на XP база подключается без проблем,а на 7 выдаёт такую...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Функция установки текстового статуса в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru